use*_*553 3 unix command-line replace text-files batch-processing
我有数百个文件需要更改其部分文本.
例如,我想用"rtmp://"替换"http://"的每个实例.
这些文件具有.txt扩展名,并分布在多个文件夹和子文件夹中.
我基本上正在寻找一个方法/脚本,通过每个文件夹/子文件夹和每个文件,如果它在该文件中找到"http"的出现,用"rtmp"替换它.
Kev*_*vin 10
你可以用组合做到这一点find
和sed
:
find . -type f -name \*.txt -exec sed -i.bak 's|http://|rtmp://|g' {} +
Run Code Online (Sandbox Code Playgroud)
这将创建每个文件的备份.我建议你检查几下以确保它能做你想要的,然后你可以删除它们
find . -name \*.bak -delete
Run Code Online (Sandbox Code Playgroud)