私はAWKを学んでいて、組み込みの文字列関数でいくつかの演習を試みていました.
これが私の演習です:
以下のようなファイルがあります
RecordType:83
1,2,3,a|x|y|z,4,5
そして、私の望ましい出力は次のとおりです。
RecordType:83
1,2,3,a,4,5
1,0,0,x,4,5
1,0,0,y,4,5
1,0,0,z,4,5
上記の出力に対して awk コマンドを作成しました。
awk -F',' '$1 ~ /RecordType:83/{print $0}
$1 == 1{
split($4,splt,"|")
for(i in splt)
{
if(i==1)
print $1,$2,$3,splt[i],$5,$6
else
print $1,0,0,splt[i],$5,$6
}
}' OFS=, file_name
上記のコマンドはとてもぎこちなく見えます。コマンドを最小化する方法はありますか?
前もって感謝します