如何使用bash替换多个文件中包含特殊字符的字符串?

时间:2013-07-30 18:03:02

标签: bash sed

我有几个包含字符串“[path] \”的txt文件。我想使用批处理操作从所有这些文件中删除它们。我搜索了命令sed似乎是这样做的方法,但我不知道如何在语法中包含字符[] \。我该怎么办?

2 个答案:

答案 0 :(得分:1)

将具有特殊含义的字符转义为sed

$ echo '[path]\' | sed 's;\[path\]\\;foobar;'
foobar

N.B。我使用;作为分隔符,以避免leaning toothpick syndrome

答案 1 :(得分:0)

您可以使用转义字符\转义任何字符。

这样的事情(说你在vi):

echo '[path]\' | sed 's/\[path\]\\/path/g'

这将仅用[path]\

替换path
相关问题