Sed: Вивчення сценаріїв оболонки за допомогою команди Sed Terminal

Sed: Вивчення сценаріїв оболонки за допомогою команди Sed Terminal

Sed: Вивчення сценаріїв оболонки за допомогою команди Sed Terminal

Команда "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 для сценаріїв оболонки

Той самий приклад можна зробити, комбінуючи команду «спрага " з "Printf" як показано нижче:

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"Або"Основне використання»І якщо ви хочете дізнатись більше про сценарії Shell у нашому власному блозі, Ви можете поглянути на інші наші публікації на цю тему, натиснувши тут: Сценарії в FromLinux.


Додати як пріоритетне джерело