这个想法是:
如果文件 FILE.txt 的第一行以
//-----------
替换为
//----------- %TAG
为此,我使用了以下命令
sed -i "1s/.\/\/-----------/& %TAG/" FILE.txt
但这没有用。
有什么建议吗?
答案1
你已经很接近了:只需删除.
你所说的以某个字符开头然后 // …
sed -i "1s/\/\/-----------/& %TAG/" FILE.txt
或更改分隔符以减少转义。
sed -i "1s#//-----------#& %TAG#" FILE.txt
答案2
你很接近。开头的点将匹配任何字符,这似乎是不需要的。为了使字符串仅在行开头匹配,正则表达式应以 开头^
:
sed -i "1s#^//-----------#& %TAG#" file.txt
使用 a#
作为s
命令分隔符简化了反引用。