Replace Text in a Specific Filename
I ran into an interesting problem at work today. We have 50 copies of the same PHP file (we have a server that contains historical versions of our site so people can see what the site looked like at a point in time) and I needed to fix a single line in all of them. This is an easy problem to fix with sed
but we had two files with the same name in two different directories. To fix this I had to do a slightly more complex search for the files before we replaced them:
find . -name FileName.php | grep folderName | xargs sed -i 's/originalText/newText/g'
As always with posts that could mess up data, I take no responsibility for any lost data. I suggest you run this on a single file first to make sure it doesn't have any unattended consequences and backup anything that's going to be changed.
Scott Keck-Warren
Scott is the Director of Technology at WeCare Connect where he strives to provide solutions for his customers needs. He's the father of two and can be found most weekends working on projects around the house with his loving partner.
Top Posts
- Working With Soft Deletes in Laravel (By Example)
- Fixing CMake was unable to find a build program corresponding to "Unix Makefiles"
- Upgrading to Laravel 8.x
- Get The Count of the Number of Users in an AD Group
- Multiple Vagrant VMs in One Vagrantfile
- Fixing the "this is larger than GitHub's recommended maximum file size of 50.00 MB" error
- Changing the Directory Vagrant Stores the VMs In
- Accepting Android SDK Licenses From The OSX Command Line
- Fixing the 'Target class [config] does not exist' Error
- Using Rectangle to Manage MacOS Windows