awkを使用して条件付きフィールドを変更する

awkを使用して条件付きフィールドを変更する

入力する

New,9,1
Old,11,0

出力

New,09,1
Old,11,0

,送信された数字2に1桁の場合は、最初の数字の後に追加したいので、出力に表示されている0数字の前に追加したいと思います。

これを達成するために使用できましたが、区切り文字として使用する機能はawk失われました。,

次のコマンドを使用してください

awk -F ',' '{if(length($2)==1)$2="0"$2;print $0}' inputfile

答え1

awk -F ',' 'BEGIN { OFS=","};{if(length($2)==1)$2="0"$2;print $0}'

答え2

これを使用すると、GNU sed次のようになります。

   sed -Ee    's/,([0-9]),/,0\1,/'   input 

答え3

同じ効果を得るには、次のawkメソッドを使用します。

_linux_example ~]#awk -F "," '{if(length($2)<=1)print $1",0"$2","$3;else print $0}' file.txt

出力:

 awk -F "," '{if(length($2)<=1)print $1",0"$2","$3;else print $0}' filename

New,09,1
Old,11,0

関連情報