Нам часто приходится использовать пакетный поиск и замену в Linux. Здесь мы рассказываем об использовании командыsedдля поиска содержимого в файлах и его замены.
Формат синтаксиса
sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`
Примеры
Далее мы ищем в текущем каталоге строки, содержащие "baidu", и заменяем строку "baidu" на "example". Выполните команду:
sed -i "s/baidu/example/g" `grep "baidu" -rl ./`
Далее давайте воспользуемся более сложным примером для пакетной замены URL libs.baidu.com на cdn.static.example.com:
sed -i "s/https:\/\/libs.baidu.com/https:\/\/cdn.static.example.com\/libs/g" `grep -rl "libs.baidu.com" ./`
Справочные команды
- Команда Linux sed:http://www.example.com/linux/linux-comm-sed.html
- Команда Linux grep:http://www.example.com/linux/linux-comm-grep.html