请帮帮我。 有一个带有这样的字符串的文件:
<b>[source:1:2:3]</b>
<b>[source:2:3:1]</b>
<b>[source:3:1:2]</b>
<b>[source:1:3:2]</b>
我只需要从该文件转换一行。结果应该是这样的文件:
<b>[source:1:2:3]</b>
<b>[source:2:3:1]</b>
<b>[result:3:1:2]</b>
<b>[source:1:3:2]</b>
用[sed :( 可能应该是这样的:
cat test.txt |sed "s,<b>\[source:3:1:2\]</b>,<b>\[result:3:1:2\]</b>,g"
答案 0 :(得分:0)
编辑: :要查找特定的字符串,然后使用以下命令更改行。
awk -v old_string="source" -v new_string="result" '/<b>\[source:3:1:2\]<\/b>/{sub(old_string,new_string)} 1' Input_file
或将结果保存到相同的Input_file中,然后尝试执行以下操作。
awk -v old_string="source" -v new_string="result" '/<b>\[source:3:1:2\]<\/b>/{sub(old_string,new_string)} 1' Input_file > temp && mv temp Input_file
如果您对awk
感到满意,请尝试执行以下操作。
awk 'FNR==3{sub(/source/,"result")} 1' Input_file
或者,如果您想在awk
代码中包含当前值和新值的变量,请尝试执行以下操作。
awk -v old_string="source" -v new_string="result" 'FNR==3{sub(old_string,new_string)} 1' Input_file