Обзор
sed читает входной поток (файл или стандартный ввод) построчно, применяет указанный скрипт (команды), а затем выводит результат в стандартный вывод. В основном используется для изменения содержимого текстовых файлов, поиска и замены определенных шаблонов, удаления строк и т. д.
Основные функции
- Мощное сопоставление с образцом с использованием регулярных выражений
- Замена текста (substitution)
- Удаление строк (deletion)
- Вставка и добавление строк (insertion/appending)
- Прямое изменение содержимого файла (опция -i)
Основные опции
Основные опции команды sed управляют способом указания скрипта или поведением вывода.
Управление скриптами и поведением
Сгенерированная команда:
Комбинируйте команды.
Описание:
`sed` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
Изучите методы обработки текста с помощью различных примеров использования sed.
Замена определенной строки
sed 's/old_text/new_text/g' filename.txt
Заменяет все вхождения 'old_text' на 'new_text' в файле. Флаг 'g' заменяет все совпадения в одной строке.
Удаление строк, содержащих определенный шаблон
sed '/error/d' logfile.txt
Удаляет все строки, содержащие слово 'error'.
Прямое изменение содержимого файла
sed -i.bak 's/DEBUG=true/DEBUG=false/g' config.txt
Изменяет 'DEBUG=true' на 'DEBUG=false' в исходном файле 'config.txt' и создает резервную копию с расширением '.bak'.
Вывод первых 5 строк
sed -n '1,5p' data.txt
Выводит первые 5 строк файла. Используется опция '-n' и команда '1,5p'.
Удаление пустых строк
sed '/^$/d' document.txt
Удаляет полностью пустые строки из файла.
Советы и предостережения
Советы по эффективному использованию sed и моменты, на которые следует обратить внимание.
Недопонимание опции sed -d
Относительно предоставленной подсказки 'sed-d', -d не является допустимой опцией командной строки для sed. Команда sed использует такие опции, как -e, -f, -i, -n и другие. Если вы выполните sed -d, sed интерпретирует -d как имя файла или выдаст ошибку неизвестной опции.
Правильное использование команды d
d — это команда, используемая в скрипте sed для удаления определенных строк. Например, sed '/pattern/d' filename удаляет все строки, содержащие 'pattern'. Это совершенно отличается от опции командной строки -d.
Пример использования команды d
sed '/строка_для_удаления/d' input.txt > output.txt
Удаляет строки из файла, содержащие 'строка_для_удаления'.
Использование регулярных выражений
Сила sed заключается в регулярных выражениях. Освоение различных метасимволов (например, ^, $, *, +, ?, . и т. д.) позволяет выполнять сложное сопоставление с образцом и замену.
^: начало строки$: конец строки.: любой одиночный символ*: предыдущий символ повторяется 0 или более разs/old/new/g: заменить все 'old' на 'new'/pattern/d: удалить строки с 'pattern'
Привыкайте создавать резервные копии
При прямом изменении файлов с помощью опции -i рекомендуется всегда указывать суффикс для резервной копии, чтобы избежать потери исходного файла (например, sed -i.bak ...).