Search 在命令行下具有特定文件名的文件中批量查找/替换
我正在寻找一个快速命令,用于搜索所有Search 在命令行下具有特定文件名的文件中批量查找/替换,search,replace,grep,Search,Replace,Grep,我正在寻找一个快速命令,用于搜索所有.htaccess文件中的特定IP地址,并从命令行将其更改为另一个IP地址 差不多 grep -rl '255.255.254.254' ./ | xargs sed -i 's/254/253/g' 我知道上面的例子是一个不好的方法,只是一个例子(我做了一些搜索来找到解决方案) Search: files with filename .htaccess (within 2 levels deep of current path?) Find: 255.25
.htaccess
文件中的特定IP地址,并从命令行将其更改为另一个IP地址
差不多
grep -rl '255.255.254.254' ./ | xargs sed -i 's/254/253/g'
我知道上面的例子是一个不好的方法,只是一个例子(我做了一些搜索来找到解决方案)
Search: files with filename .htaccess (within 2 levels deep of current path?)
Find: 255.255.254.254
Replace with: 255.255.253.253
或者,这对我的服务器要求太高了,我最好在找到它们时更换它们?试试:
find . -type f -name '.htaccess' -execdir sed -i 's/255\.255\.254\.254/255.255.253.253/g' {} +
工作原理:
开始在当前目录中查找文件查找。
只查找常规文件-类型f
仅查找名为-name'.htaccess'
的文件.htaccess
对于找到的任何此类文件,请对其运行此sed命令 因为-execdir sed-i's/255\.255\.254\.254/255.255.253.253/g'{}+
是一个通配符,您可能只想匹配文字句点,所以我们将它们转义为:
我们使用\。
而不是较旧的-execdir
,因为它在竞争条件下更安全-exec