Homepage » hogyan kell » A Kezdő útmutatója a Shell Scripting 3 további alapvető parancsokhoz és láncokhoz

    A Kezdő útmutatója a Shell Scripting 3 további alapvető parancsokhoz és láncokhoz

    Megtanultad, hogyan hozhatsz létre parancsfájlokat, használhatsz argumentumokat, és hogyan készíthetsz hurkot. Most nézzünk meg néhány alapvető parancsot, szövegfájl-manipulációt, és a bemenetek és kimenetek átirányítását fájlokra és más parancsokra.

    Néhány alapvető hasznos parancs

    Már megadta a shell-szkriptek alapkivonatát és a hurkok példamutató vázlatát, de győződjön meg róla, hogy nézze meg ezeket a cikkeket, ha eddig hiányzott a shell scripting útmutatója.

    A parancssor sok okból csodálatos, és az átirányítás az egyik legjelentősebb. Ha minden parancsot meg kell jegyeznünk és reprodukálniük kell annak érdekében, hogy további lépéseket tegyenek, vagy ezt valamilyen más célra használják, akkor már régóta őrültek volna. Az átirányítás lehetővé teszi számunkra, hogy ezt a kimenetet használjuk, és mentjük vagy azonnal használjuk egy másik parancs bemenetként. Fájlokat is használhatunk más parancsok inputjaként.

    Mielőtt továbblépnénk, fedezzük fel néhány alapvető parancsot, amelyek sok helyen használhatók.

    visszhang - Ez a parancs egyszerűen kinyomtatja (megjeleníti) a parancssori argumentum teljes kimenetét

    echo argumentum szóközzel

    Mint látható, a speciális karaktereket „el kell menekülni”, hogy rendesen kezeljék őket. Ezt úgy végezzük, hogy a karakter elé egy \ t Jobb ötlet az idézetek használatára. Az echo parancs változókkal is működik.

    Mint látható, az egy- és kettős idézetek másképp viselkednek. További információért nézd meg, mi a különbség az egy- és kétszemélyes idézetek között a Bash Shell-ben?

    macska - Ez a parancs megjeleníti a szövegfájlok tartalmát kimenetként.

    macska file_to_be_read

    Tegyük fel, hogy ezt a szövegfájlt nano-ban hozzuk létre:

    Amikor a macska parancsot használjuk a fájlban, láthatjuk a kimenetét.

    grep - Ez az egyik legerősebb és leghasznosabb parancs a Linuxon. A globális / rendszeres kifejezés nyomtatása. Úgy néz ki egy fájlt, és kinyomtat egy vonalat, amely megfelel egy adott mintának. Mivel ez a minta a „rendszeres kifejezésen” alapul, a tömör vonal sokféle mintázatot hozhat létre. Azonban nem, akkor beírhat egy csért a kereséshez.

    grep mintafájl

    Biztosíthatom, hogy a grep többet tehet, de most ragaszkodjunk a könnyebb dolgokhoz.

    Kimenetek átirányítása

    A parancs kimenetének fájlba való átirányításához speciális karaktert használunk, annál nagyobb a szimbólum (>).

    Változtassuk meg a listát, ugye? Írja be a következő parancsot:

    echo pepperoni> lista

    Láthatjuk, hogy a visszhang nem jeleníti meg a vonalat, és amikor megnézzük a „lista” fájl tartalmát, látjuk, hogy mi visszhangoztunk ott.

    Vegye figyelembe, hogy a „lista” korábbi tartalmát eltávolították. Próbáld újra:

    Ez hasznos lehet, ha újra szeretné használni a fájlt, de gyakran csak egy meglévő fájlhoz kívánunk hozzáadni. Ehhez két egymást követő nagyobb szimbólumot használunk:

    echo sárga paprika >> lista

    Könnyen! Használjuk ezt a parancsot egy nagyobb lista létrehozásához?

    Ott megyünk. Azt hiszem, láthatja, hogy miért használják fel a parancssorban a sok geek a feladatlistákat és hasonlókat, de még jobb.

    Vegyük a parancs kimenetét, és tegyük egy fájlba:

    ls -al /> ~ / rootlist

    A fájlok listáinak szerkesztése, leállítása, majd a parancsok futtatása a kívánt személyekre soha nem volt egyszerűbb. És miközben ezeket az alapvető funkciókat a parancssorban végezzük, ezek jól működnek a szkriptekben is.

    Csövek vagy láncok

    A csővezetéket úgy nevezik, mert a csövet használja, (|; megosztva a legtöbb billentyűzeten). Lényegében egy parancs kimenetét veszi, és közvetlenül továbbítja azt egy másiknak. Hosszú parancssorokat hozhat létre, hogy így egy nagyon speciális kívánt kimenetet kapjon, és ez nagyon kényelmes a parancsokhoz, mint a grep.

    Sokat hasonlít a ">" -hoz, kivéve, hogy többször is láncolható, és hatása általánosabb, mivel nem kell szövegfájlon átmenni.

    Mint látható, a grep kis- és nagybetűk. A „-i” jelző használatával figyelmen kívül hagyhatja az esetet.

    A bemenetek átirányítása

    A parancsokból származó fájlokból a bemeneteket a kisebb szimbólummal (<).

    macska < list

    - Ez nem más, mint egy argumentum használata! Nos, helyes lennél ebben az esetben. Ahol a bemeneti átirányítás valóban hasznos, a parancsok láncolása együtt történik.

    Tegyük fel, hogy szeretnénk szűrtetni azokat a szavakat, amelyek „pep” -et tartalmaznak az aktuális „list” -fájlunkból egy új, „revisions” nevű fájlba.

    grep pep felülvizsgálatok

    Hívjuk újra ezt a parancsot, és adjunk hozzá néhány válogatást.

    grep pep felülvizsgálatok

    Ez a „pep” -et használja a keresési kifejezésként a „list” beviteli fájlban, sorrendbe rendezi (ábécé sorrendben (minden kisbetűs kifejezés, amelyet kisbetűk követnek), majd adja ki a „revízió” fájlba.

    A rendezési parancs illusztrálásához nézzük meg az alábbi példát:

    Mint látható, a „-f” jelző hozzáadása a rendezési parancshoz lehetővé teszi, hogy figyelmen kívül hagyja az esetet. Ez megkönnyíti számunkra, hogy a szöveges fájlokban sorokat ábécézzünk és figyelmen kívül hagyjuk a nagybetűket, ha nem számít.

    Egy egyszerű parancsfájl

    Hozzunk létre egy olyan forgatókönyvet, amelynek a következő formája van:

    script searchterm listfile

    A kifejezést és a grep-et a listafájlban történő kereséshez, az eredmények rendezéséhez, majd egy másik fájlba történő kiadáshoz fog használni.

    Íme a könyvtár, amelyet tesztelni fog a következő parancsban:

    És létrehozhatunk egy listát arról, mi itt van, majd futtassa a szkriptet.

    Nesze! Minél jobban megtanulod a szabályos kifejezések szabályait, annál pontosabban összeállíthatsz egy keresési parancsot. És bármi, ami az idézetekben érvényes, helyettesítheti az első érvét!

    Ami a válogatást illeti, többet tehet, mint amilyen az ábécé sorrendje. Tekintse meg a man oldalt a következő parancsok közül:

    • tsort - egy fejlettebb topológiai rendezési funkció
    • tr - lehetővé teszi, hogy a karaktereket más karakterekre írja be, és átírja őket közöttük.
    • uniq - eltávolítja az összes nem egyedi (olvassa el: másolat)
    • awk - egy igazán fejlett szövegfeldolgozó nyelv / függvény, amely a fájlnevek mezőinek elválasztására használható
    • vágás, beillesztés / csatlakozás - parancsok, amelyek hasznosak a mezők szöveges fájlokból történő elkülönítésére és új adatok oszlopokba való felvételére
    • kinézet - keresések, mint például a grep, de a kereséshez egy szótárat (amely a felhasználó által megadott) használ
    • wc - lehetővé teszi a szószám, a sorszám, a karakterszám és így tovább

    Ma néhány olyan alapot vettünk szemügyre, amelyek hasznosak lehetnek a parancssorban, mint a szkripteknél. A szövegalapú adatok gyakran a napi dolgok középpontjában állnak, így kulcsfontosságú lehet, hogy dolgozni tudunk vele, keresni és manipulálni..

    Melyek a kedvenc szkriptek? Van bármilyen speciális felhasználású parancsfájl a szöveges fájlokhoz? Ossza meg, amit tud a megjegyzésekben!