sedを使用して、2つのパターン間の最後の行を別のファイルに印刷しようとしています。たとえば、file1に次のものが含まれているとします。
StartPattern
1
2
3
EndPattern
4
5
StartPattern
6
7
8
EndPattern
9
10
StartPattern
11
12
13
EndPattern
14
15
私は出力が次のようになります:
11
12
13
sedを使用してこれを行うにはどうすればよいですか?
ベストアンサー1
シングルアップロセス:
awk '/StartPattern/{ f=1;r=""; next }f && /EndPattern/{f=0}
f{ r=(r=="")? $0: r RS $0 }END{ print r }' file > output
output
文書の内容:
11
12
13
選ぶ食べ物+アッ解決策:
tac file | awk '/StartPattern/{exit}/EndPattern/{f=1;next}f' | tac > output