name : Annie
CUSTOMER_ID : 1111111
name : Marlon
CUSTOMER_ID : 2222222
这是一个名为Sample.txt的文本文件。在这里,我想搜索customer_id并将内容1111111和2222222替换为123456。因此,Sample.txt中的预期输出应该是格式。
name : Annie
CUSTOMER_ID : 123456
name : Marlon
CUSTOMER_ID : 123456
答案 0 :(得分:-1)
关注awk
可能对您有帮助。
awk '/CUSTOMER_ID/{$NF="123456"} 1' Input_file
<强> 说明: 强>
/CUSTOMER_ID/
:在Input_file的当前行中搜索字符串CUSTOMER_ID
,如果找到,则在{}
大括号中执行操作提及。
$NF="123456"
:根据OP的要求,将$NF
当前行值的最后一个字段分配给123456
。
1
:awk
处理条件然后操作的方法,所以在此处提及1
我将条件设置为TRUE并且不提及任何操作,因此默认情况下会打印当前行。
如果您想将输出保存到Input_file本身,请使用:
awk '/CUSTOMER_ID/{$NF="123456"} 1' Input_file > temp_file && mv temp_file Input_file