以下のファイルがあります。
***ABC***
Line1*
L*ine2*
***DEF***
Line3*
Lin*e4*
次のデータをABC
使用して2つのファイルを作成する必要があります。DEF
ABC.dat:
Line1*
L*ine2*
DEF.dat:
Line3*
Lin*e4*
小さなシェルスクリプトを使用してファイルを生成することもできます。
答え1
$ awk '/^\*\*\*/{gsub(/\*/,""); fname=$0".dat"; next} {print > fname}' ip.txt
$ cat ABC.dat
Line1*
L*ine2*
$ cat DEF.dat
Line3*
Lin*e4*
/^\*\*\*/
次に始まる行と一致します。***
gsub(/\*/,"")
*
その行をすべて削除してください。fname=$0".dat"
追加された残りの文字を変数.dat
に代入fname
next
次の行に移動
print > fname
現在行の内容を保存したファイル名で印刷します。fname