sed +仅在与第
问题描述:
相匹配时才替换。以下sed命令用NEW
字符串替换OLD
字符串。 我的目标是仅在COMMAND
单词作为该行中的第一个单词出现时将OLD
替换为NEW
。 如何修复我的sed语法,以便用NEW
替换OLD
只有COMMAND
是第一个字符串? (注:COMMAND
字位置可以从线路的一些空间开始后)。sed +仅在与第
利迪娅
sed "/^ *#/b; /COMMAND/ s/OLD/NEW/g" file
COMMAND OLD
OLD COMMAND
SED exe文件后:
COMMAND NEW
NEW COMMAND
答
"/^[ \t]*COMMAND/ s/OLD/NEW/g"
答
试试这个:'s/^(\s*COMMAND) OLD(.*)$/\1 NEW\2/'
答
awk
解决方案
awk '{if($1=="COMMAND") $2="NEW";print}' temp.txt