appunto io pensavo alla ricorsione che grep fa con l'opzione -R
comunque dal man si direbbe che sed debba agire su un file alla volta
Sed is a stream editor. A stream editor is used to perform basic text
transformations on an input stream (a file or input from a pipeline).
e infatti nel mio caso
Codice: Seleziona tutto
$ cd /tmp/foo/
$ ls
infile2.txt infile3.txt infile.txt
$ sed '1,/start start/d;/stop stop/,$d' *.txt
1^riga del blocco da infile2
2^riga del blocco da infile2
$
anzi devo correggere quanto scritto prima perché usando xargs sed viene eseguito una volta sola e il risultato non sarebbe quello sperato
Codice: Seleziona tutto
$ find . -name "*.txt" | xargs sed '1,/start start/d;/stop stop/,$d'
1^riga del blocco da infile3
2^riga del blocco da infile3
$
bisogna usare -exec
Codice: Seleziona tutto
$ find . -name "*.txt" -exec sed '1,/start start/d;/stop stop/,$d' {} \;
1^riga del blocco da infile3
2^riga del blocco da infile3
1^riga del blocco da infile2
2^riga del blocco da infile2
1^riga del blocco da infile
2^riga del blocco da infile
$