1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| $ cat pave.txt
A1XXXX
B1XXXX
B1XXXX
Z1XXXX
A4XXXX
B4XXXX
B4XXXX
A5XXXX
B5XXXX
B5XXXX
Z5XXXX
A6XXXX
B6XXXX
$ perl -e 'while (<>) {if (/^A/) {print STDERR $buf if ($buf); $buf=$_} elsif (/^Z/) {$buf.=$_; if ($buf =~ /^A/m) {print STDOUT $buf} else {print STDERR $buf};$buf=""} else {$buf.=$_}}; print STDERR $buf if $buf;' pave.txt 1>liste 2>poubelle
$ cat liste
A1XXXX
B1XXXX
B1XXXX
Z1XXXX
A5XXXX
B5XXXX
B5XXXX
Z5XXXX
$ cat poubelle
A4XXXX
B4XXXX
B4XXXX
A6XXXX
B6XXXX |