unix之批量替换文本文件中的文本(Linux/OSX 命令行)

yjmyzz 阅读:11 2024-02-27 23:08:18 评论:0

我有数百个文件需要更改其文本的一部分。

例如,我想用 "rtmp://"替换 "http://"的每个实例。

这些文件的扩展名为 .txt,并分布在多个文件夹和子文件夹中。

我基本上正在寻找一种方法/脚本,它可以通过每个文件夹/子文件夹和每个文件,如果它在该文件中找到“http”的出现以将其替换为“rtmp”。

请您参考如下方法:

您可以使用 find 的组合来做到这一点。和 sed :

find . -type f -name \*.txt -exec sed -i.bak 's|http://|rtmp://|g' {} + 

这将创建每个文件的备份。我建议您检查一些以确保它符合您的要求,然后您可以使用删除它们
find . -name \*.bak -delete 


标签:linux
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号