Sed: Sed Terminal командасын колдонуп Shell сценарийлерин үйрөнүү

Sed: Sed Terminal командасын колдонуп Shell сценарийлерин үйрөнүү

Sed: Sed Terminal командасын колдонуп Shell сценарийлерин үйрөнүү

"Sed" буйругу GNU / Linux типтеги Акысыз Иштетүү Системаларында бул ар тараптуу буйрук, анткени өз кезегинде Ал тексттик редактор деп эсептелет, адатта, "интерактивдүү" эмес, "агымга" багытталган, ал файлды же стандарттык киргизүүнү киргизүү катары кабыл алгандыктан, ар бир сапты иштеп чыгат жана натыйжа стандарттык чыгарууга жөнөтүлөт. Башкача айтканда, SED (Stream EDitor) бизге буйруктардын катарына же буйрук файлына негизделген файлдын ар кандай саптарынын мазмунун өзгөртүүгө мүмкүндүк берет.

Адатта, чыпка катары «sed» буйругу колдонулат, анткени ал сиздин маалыматтарды киргизүүнүн ар бир сабын окуйт, андан кийин адатта окулган, чыгарылган, өзгөртүлгөн жана көрсөтүлгөн же сакталган талап кылынган аракеттерди аткарат. Анын күчү ушундай болсо да кошумча, бул бизге ыңгайлуу жол менен, саптарды өчүрүүгө, жазууларды жок кылууга же файлдын саптарындагы белгилер саптарын алмаштырууга мүмкүндүк берет.

"Sed" буйругу менен тааныштыруу

DesdeLinux башка мурунку басылмаларында биз ушул буйрукту колдонуу боюнча сүйлөшүп, мисалдарды көрсөттүкМисалы: Файлдан белгилүү бир саптарды кантип жок кылуу керек ... y Терминал менен: туруктуу сөз айкаштарын колдонуу II: алмаштыруу, демек, биз бул жолу түздөн-түз бир аз өркүндөтүлгөн жана аны колдонгон практикалык мисалдарды көрөбүз.

Негизинен «sed» буйругу төмөнкүдөй синтаксисти камтыйт:

sed comandos_sed archivo

кайда "Command_sed" окулган саптарды эмне кылуу керектиги жөнүндө бир же бир нече мүнөздөмөгө туура келет "архив".

Кененирээк колдонуу бизге төмөнкү синтаксисти калтырат:

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

мында:

SED Command Usage Format

Практикалык мисалдар

Жолдогу Файлдарды / Папкаларды тизмелеңиз

Көрсөтүлгөн X жолунун мазмунун тизмектөө үчүн колдонула турган пайдалуу буйрук сабы, андан кийин изделген нерсени табуу / эсептөө / чыпкалоо жана андан кийинки аткарыла турган иш-аракеттерди көрсөтүү.

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

мисалы:

1-мисал: SED буйругу - Shell Scripting

Бул "sed" командасын колдонгон башка вариант абдан пайдалуу:

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

4-мисал: Shell Scripting үчүн SED буйругу

Сандын ырааттуулугун түзүү

Кийинчерээк башка процесстер үчүн окула турган вертикалдуу эмес, түздөн-түз түзүлгөн, бирок сандык ырааттуулукту (же башка киргизүүнү) экранда көрсөтүү же файлда сактоо.

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

2-мисал: Shell Scripting үчүн SED буйругу

Ушул эле мисалды «» командасын бириктирип жасасак болот.суусап " менен "Printf" Төмөндө көрсөтүлгөндөй:

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

3-мисал: Shell Scripting үчүн SED буйругу

Четтетилген файлдарды жок кылыңыз

Файл тутумунун жолун издөө, издөө файлдарынын калыптарын издөө, андан кийин калган мазмунун жок кылуу. Так жана кылдат тазалоо үчүн абдан пайдалуу.

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

5-мисал: Shell_Scripting үчүн SED буйругу

Виртуалдык 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-мисал: Shell Scripting үчүн SED буйругу

Терминалдын Ыкчам билдирүүсүн убактылуу өзгөртүү

Бул бизге атайын иш-чараларды жүргүзүп жатканда биз үчүн пайдалуу боло турган параметрлерди убактылуу киргизүүгө жардам берет. Бул мисалда биз ишараттын көрсөтүлүшүн гана өзгөртөбүз.

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

Мисал 8. Shell Scripting үчүн SED буйругу

"Ps" командасынын натыйжаларын башкарыңыз

«Ps» командасынын чыгарылышын форматтоого мүмкүндүк берүүчү өтө практикалык буйрук, башкача айтканда, Terminal Process Managerден алынган нерсе.

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

мисалы:

9-мисал: Shell Scripting үчүн SED буйругу

Бул керектелген эс тутумдун пайызына жараша процесстер үчүн колдонулушу мүмкүн:

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

Бул буйрук сабынын мисалдары "sed" буйругун колдонуп, абдан пайдалуу болот деп ишенем. Жана аларды түздөн-түз консолунан же кыйыр түрдө сценарийге киргизүү аркылуу колдонушкан (автоматташтырылган тапшырма).

Shell Scripting боюнча кийинки постто биз башка буйруктарды изилдейбиз.

Эгерде сиз "sed" буйругу жөнүндө бир аз көбүрөөк билгиңиз келсе, бул шилтемеге кириңиз "Unix жана Linux үчүн окуу куралы жана кыскача колдонмо"Же"Негизги колдонуу»Эгер сиз Shell Scripting жөнүндө көбүрөөк маалыматты өзүбүздүн Блогубуздан билгиңиз келсе, бул темага байланыштуу башка адабияттарыбызга көз чаптырсаңыз болот: FromLinux сценарийи.


Макаланын мазмуну биздин принциптерге карманат редакциялык этика. Ката жөнүндө кабарлоо үчүн чыкылдатыңыз бул жерде.

Комментарий биринчи болуп

Комментарий калтырыңыз

Сиздин электрондук почта дареги жарыяланбайт. Милдеттүү талаалар менен белгиленет *

*

*

  1. Маалыматтар үчүн жооптуу: Мигель Анхель Гатан
  2. Маалыматтын максаты: СПАМды көзөмөлдөө, комментарийлерди башкаруу.
  3. Мыйзамдуулук: Сиздин макулдугуңуз
  4. Маалыматтарды берүү: Маалыматтар үчүнчү жактарга юридикалык милдеттенмелерден тышкары билдирилбейт.
  5. Маалыматтарды сактоо: Occentus Networks (ЕС) тарабынан уюштурулган маалыматтар базасы
  6. Укуктар: Каалаган убакта маалыматыңызды чектеп, калыбына келтирип жана жок кыла аласыз.