我正在编写以下脚本:
v="1,pop";
sed "$v/d" dir/file1
它给了我这个错误:
char 3: unexpected `,'
如何解决这个问题?注意: 的值$v
无法控制。
您sed
以错误的方式使用。
$ v="1,pop";
$ cat file
1,pop
Suku
JohnGeorge
stackoverflow
serverfault
$ sed '/'$v'/d' file
Suku
JohnGeorge
stackoverflow
serverfault
$ sed "/"$v"/d" file
Suku
JohnGeorge
stackoverflow
serverfault
如果你想在 bash 中替换一个变量sed
,你需要用引号将它括起来,就像我上面显示的那样。此外,如果您想将修改写入文件,则需要使用sed
with -i
。
在脚本中使用这种方式
v="1,流行"
sed "/^$v$/{
d
}" 目录/文件1