linux替换所有文件中的代码

时间:2017-12-25 13:02:41

标签: linux bash sed replace debian-7.6.0

系统是Linux Debian 7 32bit。

当我尝试替换同一文件夹中所有文件中的某些代码时,我遇到了问题。

例如文件名为:

--ADBCABCD-.html

ABCDABCD.html

例如我想替换代码<脚本>与< iframe> 替换命令

sed -i "s|< script >|< iframe >|g" *

执行此命令后,我看到了这个问题

sed: invalid option -- 'A'
Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]...

这是因为文件名称包含---

此文件名--ADBCABCD-.html

相同

请如何解决此问题我有很多文件名称包含---

1 个答案:

答案 0 :(得分:2)

使用--选项。这是大多数Unix实用程序中最常用的选项。

sed -i -- 's/input/output/g' *
       ^^

或者,在使用glob进行匹配时,添加目录前缀:

sed -i 's/aaa/bbb/' ./*

没有人会将./--视为一种选择,对吗?