私はこのファイルを持っています:
table_01 (id, field01, field02, field03, field04)
record_01
record_02
record_03
table_02 (id, field01, field02, field03)
record_01
table_03 (id, field01, field02, field03, field04)
record_01
record_02
table_04 (id, field01, field02, field03, field04, field04)
record_01
table_05 (id, field01, field02, field03, field04)
record_01
record_02
record_03
record_04
table
「」という単語が表示される行を表示し、その間の行数と最後の発生以降の行数を表示するスクリプトが必要です。
したがって、出力は次のようになります。
table_01 (id, field01, field02, field03, field04)
3
table_02 (id, field01, field02, field03)
1
table_03 (id, field01, field02, field03, field04)
2
table_04 (id, field01, field02, field03, field04, field04)
1
table_05 (id, field01, field02, field03, field04)
4
これまで、次のスクリプトがあります。
awk '$0 ~ /table/ {if (n) print NR-1-n; n=NR}' file
出力は次のとおりです。
3
1
2
1
ただし、スクリプトはtable
" " が表示される行を表示せず、最後の発生以降の行も表示しません。欠落しているコンテンツを表示するにはどうすればよいですか?
ベストアンサー1
明らかに仕事の90%を完了しました。
awk'/table/{if(n) 印刷 NR-1-n;印刷} END {if (n) 印刷 NR-1-n}' 文書
$0 ~
その必要はありません。