[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: piccolo aiutino



Ciao!

> Ciao a tutti, mi date una mano ad un piccolo script? In un file di testo
> devo prendere la prima riga contenente una parola predefinita; questa
> parola è seguita da un numero indefinito di spazi, tab o : e poi da
> un'altra parola e successivamente da opzionalmente altre parole. Vorrei
> estrarre la parola che segue appunto la sequenza di spazi, tab o :
[...]
> cat miotextfile | grep -C 1 -o Instrument[:,\ ,\t]*.*$ | rev | cut -f1 |
> cut -d\  -f1 | rev

Conviene usare sed (o awk, o perl...), ad esempio:

grep -C 1 -o Instrument <miotextfile |
  sed 's/.*Instrument[: \t]*\([^: \t][^: \t]*\).*/\1/'

Attenzione... fatto cosi', in una riga come:
MyInstruments: none.

ti tira fuori "s", che sta dopo Instrument, con un numero arbitrario
(zero) di non separatori in mezzo, prima del prossimo separatore...
devi raffinartelo in base alle tue esigenze.

Ciau,m

-- 
http://bodrato.it/


Reply to: