我有数百个文件需要更改其文本的一部分。
例如,我想用 "rtmp://"替换 "http://"的每个实例。
这些文件的扩展名为 .txt,并分布在多个文件夹和子文件夹中。
我基本上正在寻找一种方法/脚本,它可以通过每个文件夹/子文件夹和每个文件,如果它在该文件中找到“http”的出现以将其替换为“rtmp”。
最佳答案
您可以使用 find
的组合来做到这一点。和 sed
:
find . -type f -name \*.txt -exec sed -i.bak 's|http://|rtmp://|g' {} +
这将创建每个文件的备份。我建议您检查一些以确保它符合您的要求,然后您可以使用删除它们
find . -name \*.bak -delete
关于unix - 批量替换文本文件中的文本(Linux/OSX 命令行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13364514/