Koduleht » kuidas » Algaja juhend Shelli skriptimiseks 3 Veel põhilisi käske ja kettasid

    Algaja juhend Shelli skriptimiseks 3 Veel põhilisi käske ja kettasid

    Olete õppinud skriptide loomiseks, argumentide kasutamiseks ja silmuste ehitamiseks. Vaatame nüüd veel mõningaid põhilisi käske, tekstifailide manipuleerimist ja sisendite ja väljundite ümbersuunamist failidele ja muudele käskudele.

    Mõned põhilised kasulikud käsud

    Oleme juba andnud sulle shell-skriptide põhilise jaotuse ja silmapaistvaid näpunäiteid, kuid kontrollige kindlasti neid artikleid, kui olete siiani unustanud oma shelliskriptide juhendi.

    Käsurida on imeline paljudel põhjustel ja ümbersuunamine on üks silmapaistvamaid. Kui oleksite pidanud meeles pidama ja korrutama iga käsu väljundit, et võtta edasisi meetmeid või kasutada seda mõne muu jaoks, siis oleksime kõik juba ammu hulluks läinud. Ümbersuunamine võimaldab meil seda väljundit kasutada ja salvestada või kohe kasutada teise käsu sisendina. Me võime ka faile kasutada teiste käskude sisenditena.

    Enne kui läheme edasi, katkem mõned põhilised käsud, mida saab kasutada paljudes erinevates kohtades.

    kaja - See käsk lihtsalt prindib (kuvab) kogu oma argumenti käsurealt väljundina

    echo argument tühikutega

    Nagu näete, tuleb erisümboleid „põgeneda”, et neid koheldaks normaalselt. Seda tehakse märgi ees oleva tagakülje (\ t See on parem mõte kasutada jutumärke. Kajasignaal töötab ka muutujatega.

    Nagu näete, käituvad ühe- ja kahekordsed jutumärgid erinevalt. Lisateabe saamiseks vaadake, milline on üksikute ja kahekordsete hinnapakkumiste erinevus Bash Shellis?

    kass - See käsk kuvab tekstifailide sisu väljundina.

    kass file_to_be_read

    Oletame, et loome selle tekstifaili nano:

    Kui me kasutame faili kassikoment, näeme selle väljundit.

    grep - See on üks võimsamaid ja kasulikke käske, mis teile Linuxis saadaval on. See tähendab globaalset / regulaaravaldise printimist. See vaatab läbi faili ja prindib iga konkreetse mustriga sobiva rea. Kuna see muster põhineb „regulaaravaldusel”, võib lühike joon anda palju erinevaid mustreid, mis sobitatakse. Sest aga ei saa te otsida tiiru.

    grep-mustrifail

    Ma kinnitan teile, et grep saab teha rohkem, kuid nüüd jääme lihtsamate asjade juurde.

    Väljundite suunamine

    Käsu väljundi ümbersuunamiseks failile kasutame erimärki, seda suurem sümbol (>).

    Muutkem oma nimekirja, kas me? Sisestage järgmine käsk:

    echo pepperoni> loend

    Näete, et kaja ei kuvata enam rida, ja kui me vaatame faili nimekirja, siis me näeme, mida me seal kajasime.

    Pange tähele ka, et eelmise loendi sisu eemaldati. Proovige uuesti:

    See võib olla kasulik, kui soovite faili uuesti kasutada, kuid sageli tahame lihtsalt lisada olemasolevale failile. Selleks kasutame kahte järjestikust suuremat sümbolit:

    kaja kollane paprika >> nimekiri

    Lihtne! Kasutagem seda käsku suurema nimekirja loomiseks?

    Seal me läheme. Ma arvan, et näete, miks nii paljud geeks kasutavad käsurealt ülesannete ja muude sarnaste nimekirjade tegemiseks, kuid see muutub veelgi paremaks.

    Võtame käsu väljund ja asetame selle faili:

    ls -al /> ~ / rootlist

    Failide nimekirjade tegemine, nende redigeerimine ja seejärel käskude käivitamine neile, keda soovite, pole kunagi olnud lihtsam. Ja kuigi me teeme neid põhifunktsioone käsureal, toimivad need ka skriptides hästi.

    Torustik või ahel

    Torustik on nii nime saanud, sest see kasutab toru, (|; jagatud klahviga enamikus klaviatuurides). Sisuliselt võtab see ühe käsu väljundi ja edastab selle otse teisele. Saate luua pikki käskude ahelaid, et saada sel viisil väga spetsiifiline soovitud väljund, ja see on väga mugav käskudele nagu grep.

    See toimib nagu ">", välja arvatud juhul, kui seda saab mitu korda aheldada ja selle mõju on üldisem, kuna see ei pea tekstifaili läbima.

    Nagu näete, on grep tõstutundlik. Kui soovite seda juhtumit ignoreerida, saate kasutada „-i” lippu.

    Sisendite sisestamine

    Saate sisendeid ka käskudest failidest kasutada vähem kui sümbolit kasutades (<).

    kass < list

    "See ei erine argumendi kasutamisest!" Noh, sa oleksid antud juhul õige. Kui sisendi ümbersuunamine on tõesti mugav, on käskude aheldamine koos.

    Oletame, et me tahame filtreerida mis tahes sõna, mis sisaldab meie praegusest "nimekirja" failist "pep", uude faili nimega "parandused".

    grep pep parandused

    Teeme selle käsu uuesti ja lisame mõne sorteerimise.

    grep pep parandused

    See kasutab sisendfailist "list" otsingusõna "pep", sorteerib selle tähestikulises järjekorras (kõik suured tähted, millele järgneb kõik väiketähtedega), seejärel väljastage see faili "parandused".

    Sorteerimiskäsu illustreerimiseks vaadake järgmist näidet:

    Nagu näete, võimaldab "-f" lipu lisamine sortimiskäsule juhtumit ignoreerida. See muudab meile tekstifailides olevate ridade tähestikuliseks muutmise lihtsaks ja ignoreerida kapitaliseerimist, kui see pole oluline.

    Lihtne skript

    Looge skript, millel on järgmine vorm:

    skript searchterm listfile

    Selleks kulub termin ja kasutage grep-i loendifaili otsimiseks, tulemuste sortimiseks ja seejärel teise faili edastamiseks.

    Siin on kataloog, mida me skripti katsetame:

    Ja saame luua loendi sellest, mis siin on, siis käivitage skript.

    Palun! Mida rohkem saate regulaaravaldiste reegleid õppida, seda täpsemini saate otsingukäsku kokku panna. Ja kõik, mis on kehtiv jutumärkides, võib asendada teie esimese argumendiga!

    Mis puutub sorteerimisse, siis saate teha rohkem kui tähestikulises järjekorras. Vaadake mõnda järgmistest käskudest:

    • tsort - arenenum topoloogiline sorteerimise funktsioon
    • tr - võimaldab kaardistada konkreetseid märke teistele tähemärki ja teisendada nende vahel.
    • uniq - eemaldab kõik mitte-unikaalsed (loe: duplikaat)
    • awk - tõesti arenenud tekstitöötluskeel / -funktsioon, mida saab kasutada väljade eraldamiseks failinimedes
    • lõigata, kleepida / liituda - käske, mis on vajalikud väljade eraldamiseks tekstifailidest ja uute andmete lisamiseks veergudesse
    • vaata - otsingud nagu grep teeb, kuid kasutab otsingu jaoks sõnastikufaili (mida saab määrata kasutaja)
    • wc - saate sõnade arvu, reaarvu, märkide arvu jne

    Me vaatasime täna veel mõned põhitõed, mis on käsurealt sama kasulikud kui skriptidel. Tekstipõhised andmed on sageli iga päev kasutatavate asjade keskmes, nii et võime sellega töötada, otsida ja manipuleerida..

    Millised on teie lemmikskriptid? Kas tekib tekstipõhiste failide jaoks spetsiaalsed skriptid? Jagage kommentaarides seda, mida teate!