Sed: изучение сценариев оболочки с помощью команды терминала Sed
Команда "sed" в свободных операционных системах типа GNU / Linux это очень универсальная команда, поскольку, в свою очередь, Считается текстовым редактором, ориентированным на «поток», а не на «интерактивный», как типичный., поскольку он принимает файл или стандартный ввод в качестве ввода, затем обрабатывает каждую строку, и результат отправляется на стандартный вывод. То есть, SED (Stream EDitor) позволяет нам изменять содержимое различных строк файла на основе серии команд или командного файла.
Обычно команда «sed» используется как фильтр, поскольку он считывает каждую строку вашей записи данных, а затем выполняет запрошенные действия, которые обычно читаются, извлекаются, изменяются, отображаются или сохраняются. Хотя его мощность такова, что кроме того, это позволяет нам удобным способом удалять строки, записи или заменять символьные строки в строках файла.
Введение в команду "sed"
В других предыдущих публикациях DesdeLinux мы говорили и показывали примеры использования этой команды., такие как: Как удалить определенные строки из файла ... y С помощью терминала: использование регулярных выражений II: замены, так что на этот раз мы непосредственно увидим немного более продвинутые и просто практические примеры его использования.
В основном команда «sed» имеет следующий синтаксис:
sed comandos_sed archivo
где "Command_sed" соответствует одной или нескольким спецификациям о том, что делать со строками, считываемыми из "архив".
Более широкое использование оставляет нам следующий синтаксис:
sed [-ns] '[direccion] instruccion argumentos'
Где:

Практические примеры
Список файлов / папок в пути
Полезная командная строка, которую можно использовать для вывода списка содержимого указанного пути X, а затем обнаружения / подсчета / фильтрации найденного элемента и указания следующего действия, которое необходимо выполнить.
ls -l | awk '{ print $NF }' | sed 1d
пример:

Другой вариант использования команды "sed" очень полезен:
find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed 's/^\.\///g' | xargs -n 1 basename

Создать номерную серию
Отобразите на экране или сохраните в файле числовую последовательность (или любой другой ввод), созданную, но в горизонтальном (линейном), а не вертикальном виде, которую впоследствии можно будет прочитать для других процессов.
seq 100|tr '\n' ' '|sed 's, $,\n,g'

Тот же пример можно сделать, объединив команду «жажда" c "Принтф" как показано ниже:
printf '%s ' {1..100}|sed 's/ $/\n/'

Удалить файлы с исключениями
Просеивание пути файловой системы в поисках шаблонов файлов для исключения, а затем удаление остального содержимого. Очень полезно для точной и бережной очистки.
find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed -e '/.*\.txt$/d' -e '/.*\.exe$/d' | xargs rm

Создайте виртуальный MAC-адрес
Этот шаг может быть полезен для задач компьютерной безопасности или защиты при просмотре опасных сайтов или выполнении задач взлома.
MAC=`(date; cat /proc/interrupts) | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'` ; echo $MAC

Такого же эффекта можно добиться, используя команду "sed" вместе с другими командами, как показано ниже:
openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'
od -An -N10 -x /dev/random | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'
od /dev/urandom -w6 -tx1 -An|sed -e 's/ //' -e 's/ /:/g'|head -n 1
пример:

Временно измените подсказку терминала
Это может помочь нам временно вставить в нашу подсказку параметры, которые могут быть полезны нам, когда мы выполняем особые действия. В этом примере мы изменим только способ отображения подсказки.
export PS1="C:\$( pwd | sed 's:/:\\\\\\:g' )\\> "

Управление выводом команды "ps"
Очень практичный порядок команд, позволяющий форматировать вывод команды «ps», то есть то, что получается из диспетчера процессов терминала.
sudo ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed "/^ 0.0 /d"
пример:

Это можно применить к процессам в зависимости от процента потребляемой памяти:
sudo ps -e -o pmem,nice,state,cputime,args --sort pmem | sed "/^ 0.0 /d"
Эти примеры командных строк с использованием команды "sed" Я надеюсь, вы найдете это очень полезным. И они служат для использования непосредственно с консоли или косвенно, вставляя их в скрипт (автоматизированная задача).
В следующем посте о сценариях оболочки мы рассмотрим другие команды.
Если вы хотите узнать больше о команде "sed", посетите эту ссылку "Учебное и краткое руководство для Unix и Linux"Или же"Основное использование»А если вы хотите узнать больше о сценариях оболочки в нашем блоге, вы можете ознакомиться с другими нашими публикациями по этой теме, нажав здесь: Скрипты в FromLinux.