I have hundreds of files where I need to change a portion of its text.
For example, I want to replace every instance of "http://" with "rtmp://" .
The files have the .txt extention and are spread across several folders and subfolder.
I basically am looking for a way/script that goes trough every single folder/subfolder and every single file and if it finds inside that file the occurrence of "http" to replace it with "rtmp".
Here's a
zsh
function I use to do this:It makes use of the nice Perl mechanism to create a backup file and modify the nominated file. You can use the above to iterate through files thus:
or just put it in a trivial
#!/bin/zsh
script (I just use zsh for the powerful globbing)You can do this with a combination of
find
andsed
:This will create backups of each file. I suggest you check a few to make sure it did what you want, then you can delete them using