Сед: Учење скрипти љуске помоћу команде Сед Терминал

Сед: Учење скрипти љуске помоћу команде Сед Терминал

Сед: Учење скрипти љуске помоћу команде Сед Терминал

Команда "сед" у бесплатним оперативним системима типа ГНУ / Линук то је врло свестрана команда, јер заузврат Сматра се уређивачем текста оријентисаним на „проток“ уместо на „интерактивни“ као типичне, јер прихвата датотеку или стандардни улаз као улаз, затим обрађује сваки ред и резултат се шаље на стандардни излаз. Односно, СЕД (Стреам Едитор) нам омогућава да изменимо садржај различитих редова датотеке на основу низа команди или наредбене датотеке.

Генерално, наредба «сед» се користи као филтер, пошто чита сваки ред вашег уноса података, а затим изводи захтеване радње које се обично читају, издвајају, мењају и приказују или чувају. Иако је његова снага таква да додатно нам омогућава да на удобан начин обришемо редове, записе или заменимо низове знакова унутар редова датотеке.

Увод у наредбу „сед“

У другим претходним публикацијама у ДесдеЛинук-у говорили смо и показали примере употребе ове наредбе, као што су: Како избрисати одређене редове из датотеке ... y Са терминалом: Коришћење регуларних израза ИИ: Замене, па ћемо овај пут директно видети мало напредније и исто толико практичне примере како га користимо.

У основи, команда «сед» има следећу синтаксу:

sed comandos_sed archivo

Где "Цомманд_сед" одговара једној или више спецификација о томе шта радити са редовима из којих се чита „архива“.

Опсежнија употреба оставља нам следећу синтаксу:

sed [-ns] '[direccion] instruccion argumentos'

Где је:

Формат употребе наредбе СЕД

Практични примери

Наведи датотеке / мапе у путањи

Корисна командна линија која се може користити за навођење садржаја одређене Кс путање, а затим откривање / бројање / филтрирање претраживане ставке и указивање на следећу радњу коју треба извршити.

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

Пример:

Пример 1: СЕД наредба - Схелл Сцриптинг

Ова друга варијанта која користи команду "сед" је врло корисна:

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

Пример 4: СЕД наредба за Схелл Сцриптинг

Направите низ бројева

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

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

Пример 2: СЕД наредба за Схелл Сцриптинг

Исти пример се може урадити комбиновањем команде «жеђ " са "Принтф" како је приказано испод:

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

Пример 3: СЕД наредба за Схелл Сцриптинг

Избришите датотеке са изузецима

Прегледавање путање система датотека у потрази за обрасцима датотека које ће се изузети, а затим брисање остатка садржаја. Веома корисно за прецизно и пажљиво чишћење.

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

Пример 5: СЕД наредба за Схелл_Сцриптинг

Креирајте виртуелну МАЦ адресу

Овај корак може бити користан за задатке рачунарске безбедности или заштите приликом прегледавања опасних локација или извршавања задатака хаковања.

MAC=`(date; cat /proc/interrupts) | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'` ; echo $MAC

Исти ефекат се може постићи употребом команде „сед“ заједно са осталим командама, као што је приказано доле:

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: СЕД наредба за Схелл Сцриптинг

Привремено промените упит терминала

То нам може помоћи да привремено убацимо параметре у наш упит који нам могу бити корисни док обављамо посебну активност. У овом примеру ћемо променити само начин на који се приказује упит.

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

Пример 8. СЕД наредба за Схелл Сцриптинг

Управљајте излазом наредбе "пс"

Веома практична наредба наредбе која омогућава форматирање излаза наредбе «пс», односно оног што се добија од Терминал Процесс Манагер-а.

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

Пример:

Пример 9: СЕД наредба за Схелл Сцриптинг

Ово се може применити на процесе према проценту утрошене меморије:

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

Ови примери командних линија помоћу команде „сед“ надам се да ће вам бити веома корисни. А они служе за употребу директно са конзоле или индиректно уметањем у скрипту (аутоматизовани задатак).

У следећем посту о Схелл Сцриптинг истражићемо друге команде.

Ако желите да сазнате мало више о команди „сед“, посетите овај линк “Водич и кратки водич за Уник и Линук"Или"Основна употреба»А ако желите да сазнате више о Схелл скриптирању на нашем сопственом блогу, можете погледати наше остале публикације на ту тему, кликом овде: Скриптирање у ФромЛинук-у.


Садржај чланка се придржава наших принципа уређивачка етика. Да бисте пријавили грешку, кликните овде.

Будите први који ће коментарисати

Оставите свој коментар

Ваша емаил адреса неће бити објављена.

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.