αԋɱҽԃ αмєяιcαη Asked: 2019-01-08 23:10:36 +0800 CST2019-01-08 23:10:36 +0800 CST 2019-01-08 23:10:36 +0800 CST 使用 awk 修改带条件的字段 772 输入 New,9,1 Old,11,0 输出 New,09,1 Old,11,0 如果它是单个数字,我想在第一个数字之后附加到第 2 号,,所以我想0在数字之前添加作为显示的输出。 我能够做到这一点,awk但我失去了,作为分隔符。 使用以下命令 awk -F ',' '{if(length($2)==1)$2="0"$2;print $0}' inputfile awk sed 3 个回答 Voted Best Answer αԋɱҽԃ αмєяιcαη 2019-01-08T23:27:30+08:002019-01-08T23:27:30+08:00 awk -F ',' 'BEGIN { OFS=","};{if(length($2)==1)$2="0"$2;print $0}' Rakesh Sharma 2019-01-08T23:46:39+08:002019-01-08T23:46:39+08:00 这样GNU sed做是可行的: sed -Ee 's/,([0-9]),/,0\1,/' input Praveen Kumar BS 2019-01-09T08:05:33+08:002019-01-09T08:05:33+08:00 我已经使用下面的 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
这样
GNU sed
做是可行的:我已经使用下面的 awk 方法来实现相同的
_linux_example ~]#
awk -F "," '{if(length($2)<=1)print $1",0"$2","$3;else print $0}' file.txt
输出: