我的文件包含如下所示的行
AncestorType=Window
我分配了变量,
target /test/purpose/for/firstunit chapter
target /test/purpose/for/firstunit chapter
并尝试对包含此变量值的行进行注释
i="/test/purpose/for/firstunit"
但它不起作用。不知道这里缺少什么。
答案 0 :(得分:3)
sed的另一种方法:
sed -i "s:.*$i:#&:" file_name
将前导#
添加到包含$i
值的行。
答案 1 :(得分:1)
由于您使用的模式包含斜杠/
,因此sed命令总体上会收到太多斜杠。
因此,只需使用另一个分隔符,例如_
:
sed "\_${i}_s_^_\#_g" file
让我们测试一下:
$ cat f
target /test/purpose/for/firstunit chapter
target /test/purpose/for/firstunit chapter
dad
$ sed "\_${i}_s_^_\#_g" f
#target /test/purpose/for/firstunit chapter
#target /test/purpose/for/firstunit chapter
dad