我有一个包含以下内容的文件(foo.txt):
some-text 0
我使用以下sed命令将0替换为1:
search_text="some-text";
sed "s/${search_text} 0/${search_text} 1/" -i foo.txt;
这导致foo.txt包含:
some-text 0
some-text 1
如何让它替换找到的行而不是追加新行?
在SL06上使用GNU sed版本4.2.1。
答案 0 :(得分:0)
如果您想尝试awk
awk '/some-text/ {$2=1} 1' file
答案 1 :(得分:0)
search_text='some-text'
sed -e "s/\(${search_text}\) 0/\1 1/" -i foo.txt
使用group pattern而不是search_text的两倍
您正在使用哪个shell(因为我看到;
类似于c
行尾不常用于shell中的几行?