Linux批量查找並替換文件夾下所有文件的內容
經常要使用到 Linux的批量查找與替換,這里為大家介紹使用 sed 命令和 grep 命令的結合來實現查找文件中的內容並替換。
語法格式:
sed -i "s/原字符串/新字符串/g" `grep -rl 原字符串 所在目錄`
實例:
1.實現批量查找當前目錄下包含 baidu 字符串的所有文件,例如:
grep -rn "baidu" ./
2.實現批量查找並替換當前文件夾下的包含 baidu.com 字符串的所有文件,並將其替換成 qq.com。
sed -i "s/baidu.com/qq.com/g" `grep -rl "baidu.com" ./`
3.實現批量查找並替換/data文件夾下的包含 baidu.com 字符串的所有文件,並將其替換成 qq.com。
sed -i "s/baidu.com/qq.com/g" `grep -rl "baidu.com" /data/`
使用命令時注意命令與參數之間空格的存在!
4.更復雜的實例,批量替換網址 https://www.baidu.com 為 https://www.qq.com/hb
sed -i "s/https:\/\/www.baidu.com/https:\/\/www.qq.com\/hb/g" `grep -rl "https:\/\/www.baidu.com" ./`