27Jun

Почетни водич за Схелл Сцриптинг 3: Још основних команди & амп;Ланци

click fraud protection

Научили сте како креирати скрипте, користити аргументе и направити за петље.Сада, да погледамо неке друге основне команде, манипулацију текстуалним датотекама и преусмјеравамо улаз и излаз у датотеке и друге команде.

Неке основне корисне команде

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

Командна линија је дивна из више разлога, а редирекција је једна од најистакнутијих.Ако сте морали да забележите и репродукујете излаз сваке наредбе да бисте предузели даље радње или искористили то за нешто друго, онда смо сви одавно постали луди.Преусмеравање дозвољава нам да користимо тај излаз и спремимо га или га одмах употребимо као улаз за другу команду.Ми такође можемо користити датотеке као улазе за друге команде.

Пре него што наставимо, покривамо неке основне команде које се могу користити на различитим местима.

ецхо - Ова команда једноставно штампа( приказује) цео њен аргумент на командној линији као излаз

instagram viewer

ецхо аргумент са размацима

Као што видите, специјални знакови морају бити "избачени" тако да се третирају нормално.Ово се ради помоћу пошиљака( \) испред карактера.Боља је идеја да се користе цитати.Команда ецхо такође ради са варијаблама.

Као што видите, појединачни и двоструки цитати се понашају другачије.За више информација, погледајте Шта је разлика између појединачних и двоструких цитата у Басх схелл-у?

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

цат филе_то_бе_реад

Рећи ћемо да креирамо ову текстуалну датотеку у нано:

Када користимо команду мачке у датотеци, можемо видети његову излазну вредност.

греп - Ово је једна од најснажнијих и корисних команди доступних за вас на Линуку.Она означава Глобал / Регулар Екпрессион Принт.Изгледа кроз датотеку и штампа било коју линију која одговара одређеном образцу.Будући да је овај образац заснован на "регуларном изразу", концизна линија може дати мноштво обрасца који се морају упарити.Међутим, ако не можете да унесете кормило за претраживање.

греп образац датотека

Уверавам вас, греп може учинити више, али за сада држимо се лакших ствари.

Преусмеравање излаза

​​Да бисте извршили преусмеравање излаза команде у датотеку, користићемо посебан знак, симбол веће од( >).

Хајде да променимо нашу листу, зар не?Унесите следећу команду:

ецхо пепперони & гт;листа

Можете видети да ецхо више не приказује линију, а када погледамо садржај датотеке "листе", видимо шта смо поновили тамо.

Напомињемо да је претходни садржај "листе" уклоњен.Пробајте поново:

Ово може бити корисно када желите поново да користите датотеку, али често само желимо да додамо постојећу датотеку.За ово користимо два узастопна симбола већег од:

ецхо иеллов пепперс> гт;листа

Једноставно!Хајде да користимо ову наредбу да направимо већу листу, зар не?

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

Хајде да узмемо излаз команде и ставимо је у датотеку:

лс -ал / & гт;~ / роотлист

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

Пипинг или Цхаининг

Пипинг је тако именован зато што користи цев,( |; дели са \ кључом на већини тастатура).У суштини, потребан је излаз једне команде и директно се доводи у други.Можете креирати дугачке ланце команди да бисте добили овако специфичан жељени излаз и веома је згодан за наредбе попут греп.

Делује много попут "& гт;", осим што се може повезати више пута и његов ефекат је опћенитији у томе што не треба пролазити кроз текстуалну датотеку.

Као што видите, греп је осетљив на слово.Можете користити ознаку "-и" да игноришете случај.

Редирецтинг Инпутс

Такође можете да преузимате уносе из датотека за наредбе користећи симбол мање од(

цат & лт;лист

"То се не разликује од коришћења аргумента!", Можете рећи.Па, бићеш тачан у овом случају.Тамо где је преусмеравање улаза заиста згодно, у заједничким командама.

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

греп пеп & лт;лист & гт;ревизије

Поновимо ову наредбу и додамо неку врсту сортирања.

греп пеп & лт;лист |сортирај & гт;ревизије

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

Да бисмо илустровали команду сорта, погледајте следећи пример:

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

Једноставан скрипт

Креирај скрипту која има следећи облик:

скрипта сеарцхтерм листфиле

То ће узети термин и користити греп за претраживање кроз датотеку са листом, сортирање резултата и затим их излазити у другу датотеку.

Ево директорија за који ћемо тестирати скрипту у:

И, можемо направити списак онога што овдје, а затим покрените скрипту.

Ето!Што више научите правила регуларног израза, то тачније можете саставити команду за претрагу.И, све што важи у цитатима можете замијенити свој први аргумент!

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

  • тсорт - напреднија тополошка функција сортирања
  • тр - омогућава мапирање одређених знакова другим ликовима и преписивање између њих.
  • уник - уклања све не-јединствене( прочитајте: дупликат)
  • авк - стварно напредан језик за обраду текста / функција која се може користити за одвајање поља у називним именима
  • цут, пасте / јоин - команде корисне за изолирање поља из текстуалних датотека и додавањенови подаци у колоне
  • изглед - претрага као што је греп, али користи рјечничку датотеку( која може бити специфицирана кориснику) за претраживање
  • вц - омогућава вам да број порука, број редова, број знакова и још много тога

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

Које су вам неке омиљене скрипте?Да ли имате скрипте посебне намене за текстуалне датотеке?Делите оно што знате у коментарима!