Sed: изучение сценариев оболочки с помощью команды терминала Sed

Sed: изучение сценариев оболочки с помощью команды терминала Sed

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'

Где:

Формат использования команды SED

Практические примеры

Список файлов / папок в пути

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

ls -l | awk '{ print $NF }' | sed 1d

пример:

Пример 1: команда SED - сценарий оболочки

Другой вариант использования команды "sed" очень полезен:

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed 's/^\.\///g' | xargs -n 1 basename

Пример 4: команда SED для сценария оболочки

Создать номерную серию

Отобразите на экране или сохраните в файле числовую последовательность (или любой другой ввод), созданную, но в горизонтальном (линейном), а не вертикальном виде, которую впоследствии можно будет прочитать для других процессов.

seq 100|tr '\n' ' '|sed 's, $,\n,g'

Пример 2: команда SED для сценария оболочки

Тот же пример можно сделать, объединив команду «жажда" c "Принтф" как показано ниже:

printf '%s ' {1..100}|sed 's/ $/\n/'

Пример 3: команда SED для сценария оболочки

Удалить файлы с исключениями

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

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed -e '/.*\.txt$/d' -e '/.*\.exe$/d' | xargs rm

Пример 5: команда SED для Shell_Scripting

Создайте виртуальный 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

пример:

Пример 7: команда SED для сценария оболочки

Временно измените подсказку терминала

Это может помочь нам временно вставить в нашу подсказку параметры, которые могут быть полезны нам, когда мы выполняем особые действия. В этом примере мы изменим только способ отображения подсказки.

export PS1="C:\$( pwd | sed 's:/:\\\\\\:g' )\\> "

Пример 8. Команда SED для сценария оболочки

Управление выводом команды "ps"

Очень практичный порядок команд, позволяющий форматировать вывод команды «ps», то есть то, что получается из диспетчера процессов терминала.

sudo ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed "/^ 0.0 /d"

пример:

Пример 9: команда SED для сценария оболочки

Это можно применить к процессам в зависимости от процента потребляемой памяти:

sudo ps -e -o pmem,nice,state,cputime,args --sort pmem | sed "/^ 0.0 /d"

Эти примеры командных строк с использованием команды "sed" Я надеюсь, вы найдете это очень полезным. И они служат для использования непосредственно с консоли или косвенно, вставляя их в скрипт (автоматизированная задача).

В следующем посте о сценариях оболочки мы рассмотрим другие команды.

Если вы хотите узнать больше о команде "sed", посетите эту ссылку "Учебное и краткое руководство для Unix и Linux"Или же"Основное использование»А если вы хотите узнать больше о сценариях оболочки в нашем блоге, вы можете ознакомиться с другими нашими публикациями по этой теме, нажав здесь: Скрипты в FromLinux.


Добавить в качестве предпочтительного источника