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 команда за скриптове на Shell

Създайте числова последователност

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

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

Пример 2: SED команда за скриптове на Shell

Същият пример може да се направи чрез комбиниране на командата «жажда " с "Printf" както е показано по-долу:

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

Пример 3: SED команда за скриптове на Shell

Изтрийте файлове с изключения

Пресяване на пътя на файловата система в търсене на модели на файлове за изключване и след това изтриване на останалото съдържание. Много полезно за прецизно и внимателно почистване.

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 команда за скриптове на Shell

Временно променете терминалния ред

Това може да ни помогне временно да вмъкнем параметри в нашата подкана, които могат да ни бъдат полезни, докато извършваме специална дейност. В този пример ще променим само начина, по който се показва подканата.

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

Пример 8. SED команда за скриптове на Shell

Управлявайте изхода на командата "ps"

Много практична командна заповед, за да се позволи форматирането на изхода на командата «ps», тоест това, което се получава от Terminal Process Manager.

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

Пример:

Пример 9: SED команда за скриптове на Shell

Това може да се приложи за процеси според процента на консумираната памет:

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

Тези примери за командни редове, използващи командата "sed", надявам се да ви е много полезен. И те служат за използване директно от конзолата или индиректно чрез вмъкването им в скрипт (автоматизирана задача).

В следващия пост на Shell Scripting ще разгледаме други команди.

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


Добавяне като предпочитан източник