Tail, grep, redirezioni & C

Paolo Pisati p.pisati a oltrelinux.com
Gio 12 Feb 2009 17:27:15 CET


piso a ferret:~ >uname -a
FreeBSD ferret.XXX 7.1-STABLE FreeBSD 7.1-STABLE #1: Tue Jan  6 14:41:32 
CET 2009     root a ferret.XXX:/usr/obj/usr/src/sys/GENERIC  i386

piso a ferret:~ >rm test
piso a ferret:~ >touch test
piso a ferret:~ >tail -F test | grep ciccio

in un altro terminale:

piso a ferret:~ >echo ciccio >> test
piso a ferret:~ >echo ciccio >> test
piso a ferret:~ >echo ciccio >> test
piso a ferret:~ >echo ciccio >> test

e di sopra succede:

piso a ferret:~ >tail -F test | grep ciccio
ciccio
ciccio
ciccio
ciccio

ora ammettiamo che voglia redirigere il tutto su un file:

piso a ferret:~ >rm test
piso a ferret:~ >rm test2
piso a ferret:~ >touch test
piso a ferret:~ >tail -F test | grep ciccio >> test2

in un altro terminale:

piso a ferret:~ >echo ciccio >> test
piso a ferret:~ >echo ciccio >> test
piso a ferret:~ >echo ciccio >> test
piso a ferret:~ >echo ciccio >> test
piso a ferret:~ >ls -la test*
-rw-r--r--  1 piso  piso  28 Feb 12 17:19 test
-rw-r--r--  1 piso  piso   0 Feb 12 17:18 test2

ok, magari e' un problema di bufferizzazione:

piso a ferret:~ >tail -F test | grep ciccio >> test2
^C
piso a ferret:~ >sync
piso a ferret:~ >ls -la test*
-rw-r--r--  1 piso  piso  28 Feb 12 17:19 test
-rw-r--r--  1 piso  piso   0 Feb 12 17:18 test2

di sicuro sara' una cosa banalissima, ma non ci arrivo.
Idee?

-- 

bye,
P.



Maggiori informazioni sulla lista Esperti