我的语法有什么问题?
awk -F '|' 'sub/\s*\w*/,"Visit our website!","$3"' merchant_report
应该是转
|bob|jones| blagblag| texas
|tom|markus| | alabama
进入
|bob|jones|Visit our website!| texas
|tom|markus| | alabama
我的语法有什么问题?
awk -F '|' 'sub/\s*\w*/,"Visit our website!","$3"' merchant_report
应该是转
|bob|jones| blagblag| texas
|tom|markus| | alabama
进入
|bob|jones|Visit our website!| texas
|tom|markus| | alabama
这条线可能会做你想做的事:
awk -F'|' -v OFS="|" 'NR==1{$4="Visit our website!"}1' file
在您的 awk 代码中:
FS
分开字段,你不需要sub
函数,直接设置$3
。sub( )
函数,您的语法也不正确。您可以通过以下方式获取详细信息man gawk
$3
,它是$4
。因为你的行以|
NR==1
否则 awk 将对所有行进行更改代码示例:
kent$ cat file
|bob|jones| blagblag| texas
|tom|markus| | alabama
kent$ awk -F'|' -v OFS="|" 'NR==1{$4="Visit our website!"}1' file
|bob|jones|Visit our website!| texas
|tom|markus| | alabama
在awk
您只需为该字段分配给定行的新值。如果您对替换方法更满意,请尝试sed
:
sed '1s/|[^|]*/|Visit our website!/3' file
|bob|jones|Visit our website!| texas
|tom|markus| | alabama