[FoLUG] Aiuto su bash

Ivan i.f-ml00@darthxiong.net
Mer 6 Ott 2004 10:09:32 CEST


On Wednesday 06 October 2004 09:23, Conte Piero wrote:
> leggo un file di testo
usa grep. se il file e' corto ( meno di qualche mega ) puoi anche fare 
un giro per ogni stringa da cercare ( se non sono troppe )

> per ogni riga devo controllare se esite la stringa per esempio pippo
- snip -
> output (so solo questo)
> Prima domanda : è possibile fare questo in bash?
si. ma:
1) se si tratta di 2-3 stringhe ( pippo e pluto e pochi altri ) allora 
te la cavi con poco. se si tratta di un problema generale con n 
stringhe su file grossi, il problema si complica un po', tanto che 
considererei uno scriptino in perl, l' asso di briscola per queste cose

> Seconda domanda se si qualcuno mi da una piccola dritta sulle
> istruzioni da eseguire?
for linea in `cat file`
do
 for s in stringa1 stringa2 stringa3
 do
  val=$( echo $linea | grep $s )
  if [ $? -eq 0 ]; then
   echo $val >> filerisultati
  fi
 done
done

questo come impostazione logica di base. puoi lavorare qui attorno per 
le rifiniture. usa cut o sed per togliere le parti di $val che non ti 
servono nel filerisultati

-- 
  (@_ Ivan Fabris, S. Sofia (FC,it) PowerPC e Debian GNU/linux SID _*)
  //\         www.folug.org    pgp key @ www.keyserver.net         /\\
  V_/_  Socio Fondatore e presidente del Forli' Linux User Group  _\_V



Maggiori informazioni sulla lista FoLUG