複数のヘッダー、詳細、トレーラー レコードを持つファイルがあります。(固定長)
例えば私のファイルは次のようになります
Habcd20200317
R123 abc def
R234 dfg thg
T2 2018907
Hagfd20200316
R346 adf thg
R456 tsh ahs
T3 2018937
出力ファイルは次のように保存されます20200317.txt
Habcd20200317
R123 abc def
R234 dfg thg
T2 2018907
そして20200316.txt
Hagfd20200316
R346 adf thg
R456 tsh ahs
T3 2018937
それぞれ。
Unix シェル スクリプトでこれを実現するにはどうすればよいですか? 助けてください。
答え1
レコードの長さは固定なので、モジュロ演算を使用できます。
awk 'NR%4 == 1 {outfile = substr($0,6) ".txt"} {print > outfile}' file