使用 awk 将字符添加到特定字段
add character to particular field using awk
如何使用 awk 将“0”添加到第 2 个字段的第一个和第 9 个数字?
数据
12345,20150303024955
输出
12345,0201503030024955
我刚接触 shell 脚本。
假设 "add to" 你的意思是 "prefix with":
$ echo '12345,20150303024955' |
awk 'BEGIN{FS=OFS=","} {sub(/.{8}/,"&0",); ="0"}1'
12345,0201503030024955
您要求 awk
,但这在 sed
中也很容易做到:
$ echo '12345,20150303024955' | sed -r 's/,(.{8})/,0/'
12345,0201503030024955
工作原理
-r
启用扩展正则表达式,这样我们就不需要反斜杠转义了。
s/,(.{8})/,0/
查找后跟八个字符的逗号。将其替换为一个逗号、一个零、这八个字符和另一个零。
如何使用 awk 将“0”添加到第 2 个字段的第一个和第 9 个数字?
数据
12345,20150303024955
输出
12345,0201503030024955
我刚接触 shell 脚本。
假设 "add to" 你的意思是 "prefix with":
$ echo '12345,20150303024955' |
awk 'BEGIN{FS=OFS=","} {sub(/.{8}/,"&0",); ="0"}1'
12345,0201503030024955
您要求 awk
,但这在 sed
中也很容易做到:
$ echo '12345,20150303024955' | sed -r 's/,(.{8})/,0/'
12345,0201503030024955
工作原理
-r
启用扩展正则表达式,这样我们就不需要反斜杠转义了。
s/,(.{8})/,0/
查找后跟八个字符的逗号。将其替换为一个逗号、一个零、这八个字符和另一个零。