Нотатки сісадміна Linux 15 полезных ‘sed’ команд на каждый день для Linux системного администратора

15 полезных ‘sed’ команд на каждый день для Linux системного администратора

15 полезных 'sed' команд

Что бы не лазить лишний раз в гугл стоит сделать себе заметки по работе с основными командами linux, сейчас редко но приходится парсить файлы или конфиги, такие команды ускоряют работу и упрощают нелегкую жизнь сисадмина

1. Просмотреть диапазон строк из файла

К примеру надо просмотреть строки в середине файла, такое нужно к примеру когда правишь конфиг и при старте сервиса получаешь сообщение что в строке 111 ошибка, просмотреть что в этой строке не заходя в файл, команда ниже выведет строки с 110 по 112 из файла apache2.conf

 

2. Исключить из диапазона строки при просмотре файла, команда ниже исключит из вывода строки с 110 по 112

 

3. Просмотр не последовательного диапазона строк из файла, команда ниже выведет на экран строки с 5 по 7 и с 10 по 13, как видите параметр “-е” позволяет задавать такие диапазоны

 

4. Замена слова или символа (базовая замена)

– замена слова version га story в файле

– замена слова version га story в файле игнорируя регистр

-заменить в выводе два и более пробела на один:

сравните вывод команды ip route show без sed и с sed:

sed примеры использования

sed примеры использования

 

 

 

 

 

 

 

5. Заменить слово или символы в диапазоне строк

заменить слово version на storu в диапазоне строк с 30 по 40

 

6. Использование регулярных выражений (расширенная замена) -I

Иногда конфигурационные файлы загружаются с комменатриями. Что бы удалить все пустые строки или строки начинающиеся с # из конфигурационного файла apache достаточно выполнить:

 

7. Использование регулярных выражений (расширенная замена) -II

Иногда необходимо  заменить слова начинающиес с большой буквы или с маленькой на другое слово, например заменить zip или Zip на rar в файле myfile.txt

 

8. Просмотреть строки содержащие определенное выражение.

Бывают ситуации когда необходимо просмотреть лог файл за определенный день, к примеру secure лог в Centos Linux за 1 Июля:

 

9. Вставить пустую строку в файл.

Вставить пустую строку для каждой не пустой стрки в файле при выводе на экран

или две строки

 

10. Преобразования dos2unix с построчным редактированием

Файлы созданные или отреактированные в Windows редакторе при открытии в *nix среде как правило могут отображаться некорректно или содержать win символ перевода строки ^M  что бы избавится от него достаточно выполнить команду:

Помните что опция -i подавляет вывод на экран и заносит изменения в файл

 

11. Редактирование “на месте” с сохранением копии оригинала

В предыдущем примере изменения применялись опцией sed “-i” без сохранения оригинального файла, что бы сохранить оригинальный файл делаем:

 

12. Поменять слова местами.

К примеру у нас есть файл содержащий Имя и Фамилию в формате “Имя, Фамилия” и нам необходимо поменять местами что бы стлоа “Фамилия, Имя”

 

13. Заменить слово только если строка сравнения найдена.

Если необходимо заменить одно слово на друго, но только в определнной строке файла, которая содержит необходимое слово (если строка содержит /services/ – заменить start на stop):

 

14. Выполнить две и более замены в одной команде.

К примеру необходимо в файле произвести две и более замены одной командой (заменяем that на this и line на verse)

 

15. Комбинируем sed и другие команды

Естественно sed можно комбинировать с другими командами для создания более мощных команд. К примеру из ПРИМЕР#4  мы можем извлечь свой IP адрес:

Понятно что эту же операцию можно сделать и прощее или по другому, но понимание как работает и что можно сделать с использованием sed зачастую крепко может облегчить задачу и жизнь.

Click to rate this post!
[Total: 0 Average: 0]

Залиште відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Related Post

ifconfig

15 полезных “ifconfig” команд для настройки сетевых интерфесов в Linux15 полезных “ifconfig” команд для настройки сетевых интерфесов в Linux

“ifconfig” сокращенное от “interface configuration” (настройка интерфейсов) утилита для системных / сетевых администраторов в Unix/Linux операционных систем для конфигурации, управления и запросов параметров сетевых интерфейсов из командной строки или из