我需要使用awk替换下面16位数字字段中的数字“9”的中间6位数。请让我知道解决方案,因为我现在开始使用awk
分隔符:|
档案中的实际数据:
2006-07-27|0|DBT|||6657832345233037|Y
文件中的预期数据:
2006-07-27|0|DBT|||6657839999993037|Y
答案 0 :(得分:3)
awk
救援!
更新您必须设置OFS
以保留分隔符。
awk 'BEGIN{FS=OFS="|"} {$6=substr($6,1,6) "999999" substr($6,13)}1'
答案 1 :(得分:0)
只是为了好玩,这是另一种选择:
awk -F'|' '$6 = gensub(/^(.{6}).{6}/,"\\1999999",1,$6)' OFS="|"