0

我查看了以下推荐特定“sed”命令的其他线程:

https://superuser.com/questions/428493/how-can-i-do-a-recursive-find-and-replace-from-the-command-line

Find/sed:如何递归搜索/替换文件中的字符串,但仅适用于与特定正则表达式匹配的行

Mac 和 Linux 上的文本文件中的递归搜索和替换

perl -pi -w -e 's/SEARCH_FOR/REPLACE_WITH/g;' *.txt

find . -type f -name '*.txt' -exec sed -i '' s/this/that/ {} +

我正在尝试替换目录中多个文件中出现的以下示例:

<script src="http://localhost/massignition/wp-content/themes/twentythirteen/js/html5.js"></script>

使用以下内容(用 www.site.com 替换 localhost/massignition)

我输入以下内容:

find . -type f -name '*.txt' -exec sed -i '' s%localhost/massignition%www.site.com%/ {} +

但没有任何改变。

4

1 回答 1

1

删除命令中大括号之前存在的 / ,即

寻找 。-type f -name '*.txt' -exec sed -i '' s%localhost/massignition%www.site.com% {} +

代替

寻找 。-type f -name '*.txt' -exec sed -i '' s%localhost/massignition%www.site.com%/ {} +

于 2013-09-19T06:14:56.270 回答