在文件夹及其所有子文件夹的所有文件中搜索子字符串并将其替换为其他字符串

在文件夹及其所有子文件夹的所有文件中搜索子字符串并将其替换为其他字符串

我知道有几个问题,但我的问题是具体的:

我想localhost:8000/https://www.begueradj.com/文件夹及其子文件夹中存在的所有 HTML 文件替换子字符串:。

在这种情况下和///我带来了问题。

有什么提示吗?

编辑:

我尝试更多努力的尝试是所描述的这里

任何欢迎其他有效方法。

答案1

这里(至少)有两件事需要改进:

  • 如果文件名包含空格字符或更糟,则使用for由另一个命令生成的文件名列表往往会以相当有趣的方式中断
  • 你使用的引号sed很奇怪

尝试

find . -name '*.html' -print0 | 
    xargs -0 sed -i 's|localhost:8000|https://www.begueradj.com/|'

选项-print0find确保传递给的所有名称xargs均以 NUL 结尾。

相关内容