Обзор
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 ...`).