このように入力しましたが、
[Data.11]
Store,100,,,,,,,,,,,,,,,,,,,5222
Store,101,,,,,,,,,,,,,,,,,,,5235
[Data.12]
TaxSchedulePt,5899,2,110.0100,99999999.99,,8.8750
TaxSchedulePt,5900,1,0,110.00,,0.0000
[Data.13]
TaxSchedulePt,5900,1,0,110.00,,0.0000
TaxSchedulePt,5900,2,110.0100,99999999.99,,8.8750
まず[Data.]は[Data。]与えられた入力ファイルで見つかった場合は、特定の[Data.*]値を別々のファイルに書き込む必要があります。
[Data.11]の予想出力ファイル
Store,100,,,,,,,,,,,,,,,,,,,5222
Store,101,,,,,,,,,,,,,,,,,,,5235
[Data.12]の予想出力ファイル
TaxSchedulePt,5899,2,110.0100,99999999.99,,8.8750
TaxSchedulePt,5900,1,0,110.00,,0.0000
[Data.13]の予想出力ファイル
TaxSchedulePt,5900,1,0,110.00,,0.0000
TaxSchedulePt,5900,2,110.0100,99999999.99,,8.8750
私が試したことは次のとおりです。
filename=$1
Var1=Data.18
if grep -wq "$Var1" $filename ;
then
awk '$1 ~ /Data[.]18/' > /ttk/new/data.dcn
else
echo "not Worked"
fi
ベストアンサー1
awk 'BEGIN{d=0;p=0} d==1&&/\[Data\.[0-9]+\]/{p=0} p==1{print} /\[Data\.[0-9]+\]/&&d==0{p=1;d=1}'
説明:1日の開始時に印刷部分(p = 0)とデータ部分(d = 0)がありません。 p==1 ならラインを印刷しているのです。データ行が見つかり、まだデータ部分が見つからない場合は、印刷をオンにしてデータ部分が見つかったことを記録します。データセクションが見つかりましたが、すでにデータセクションが見つかった場合は、印刷をオフにしてください。