1

awkでこれを行うにはどうすればよいですか?

入力ファイル

Line 1
Line 2
####PATTERN####### (Line 3)
Line 4
Line 5
Line 6
####PATTERN####### (line 7)
Line 8
####PATTERN####### (Line 9)

等..

出力ファイル

Line 1
Line 3
Line 4 
Line 5
Line 7
Line 9
4

3 に答える 3

2

のコード:

sed -nr '/####PATTERN#######/!{x;1!p;x};$p;h' file

$ sed -nr '/####パターン#######/!{x;1!p;x};$p;h' ファイル
ライン1
####パターン####### (3行目)
4号線
5行目
####パターン####### (7行目)
####パターン####### (9 行目)

GNU のコード:

awk '{if ($0 ~ /PATTERN/ && NR>1) {delete l[(NR-1)]}; l[NR]=$0}END {for (a in l) print l[a]}' file
$ awk '{if ($0 ~ /PATTERN/ && NR>1) {delete l[(NR-1)]}; l[NR]=$0}END {for (a in l) print l[a]}' ファイル
ライン1
####パターン####### (3行目)
4号線
5行目
####パターン####### (7行目)
####パターン####### (9 行目)
于 2013-07-22T10:16:28.437 に答える