Speciális karakterek és a szűrés

A karakterek száma a parancsok speciális szimbólumok. Ez azt jelenti, hogy nem kerülnek át a program indításához vagy a parancs felvezető belső héj és feldolgozott ELŐTT a parancs végrehajtásakor. Azaz, a speciális karakterek által ellenőrzött héj is. Néhány ilyen karakterek a következők:

Ha azt szeretnénk, hogy héj nem kerül feldolgozásra különleges módon speciális karakter és kezel, mint a rendszeres jellegű, meg kell megszökött. Háromféle módon lehet megtenni:

1. Tegyen egy fordított perjel (\), mielőtt a különleges karakter (angol, ezt a módszert nevezik a menekülés). Sam backslash, illetve szintén egy különleges karakter, és azt is vizsgálni (azaz fel két vágás, \\). Például:

grep szerencsés \ * csillag az én \ file # Keresek egy szerencsés * csillag sort a fájl a fájlt,

Backslash előtt a szokásos, nem egy speciális karakter figyelmen kívül hagyja.

2. Írja be egy parancsot vagy része a csapatnak speciális karakterek idézőjelben ( „) Az angol, ezt a módszert nevezik idézet Double idézetek átvizsgáljuk a legtöbb speciális karakterek, de nem az összes többi speciális karakterek belül dupla idézőjelek kerülhessen a backslash példa .....:

grep „szerencsés * csillag”, „az én file” # Hasonlóan az előző parancs

A fordított perjel belül idézőjelben előtt egy közönséges karakter vagy szimbólum nélkül átvizsgáljuk idézőjelek kezelik árnyékolt perjel. De lehet kifejezetten megszökött. Ez azt jelenti, hogy az echo parancs „hello \ perjel” és echo „hello, \\ perjel” hozza a képernyő ugyanaz: hello, \ perjel.

3. Írja be a parancsot, vagy része a csapatnak az aposztróf jelet (angol, ez a módszer is nevezik idézetet). Ők vizsgálják meg az összes speciális karaktereket. például:

# Keresse meg a sort a $ 1,000 fájlt a jövedelem

grep "$ 1000 "saját bevétel"

# A „$” nem árnyékolja idézőjelben és egyetlen - szitáljuk.

A fordított perjel belül dupla idézőjelek is mindig úgy árnyékolva. Az echo 'hello, \\ perjel' jelenít hello, \\ perjel.

Következtetés A fájl

A legvalószínűbb, hogy lesz valaha is, hogy írjon az egész egy parancs kimenete egy fájlba. Legyen egyszerű: parancs> fájlnév

# Összes sor tartalmazza a string „loruser” a / etc / passwd

# És írd fel azokat a „myfile” fájlt a „Dokumentumok” a saját könyvtárban.

grep loruser / etc / passwd>

Ebben az esetben fontos, hogy minden program két stream output: stdout és stderr. A program maga határozza meg, hogy mely üzeneteket bármely kimeneten. Ha átirányítja a kimeneti stream csak a hiba nem kerül rögzítésre a fájlban, és jelenik meg a képernyőn (és fordítva). Átirányítani hibafolyamot használja a következő szintaxist: parancs 2> fájlnév

Fájlt is küldhet két stream:

parancs> fayl_dlya_vyvoda 2> fayl_dlya_oshibok

grep loruser / etc / passwd>

Ha irányítsa át a kimenetet egy fájlba, vagy hiba fájl teljesen felülírt (vagy létrejön, ha nem létezik). Még ha nem jelenik meg semmi, akkor a fájl felülírja, és helyébe egy üres.

Hozzáfűzni a kimeneti fájl, mentés az előző tartalmát, használja a kettős jel „több” helyett egy. Azaz:

command >> file # megjelenítéséhez

2. csapat >> file # hibák

Talán van egy másik kérdés: hogyan lehet egy programot, hogy olvassa el az adatokat a fájlt, mintha bemenet a billentyűzet?

De ha biztos abban, hogy nincs ilyen funkció, akkor is küld adatokat a fájlt a bemeneti folyam a program:

Igen, akkor össze a bemeneti és kimeneti átirányítás:

csapat <файл_для_ввода> fayl_dlya_vyvoda

Egy konkrét kiviteli alak a átirányítás szoftver szervezési csatornán (szállítószalag). Ehhez a két vagy több csapat, oly módon, hogy a termelés a korábbi bemenete a következő, csatlakozik (vagy külön, ha tetszik jobban) cső szimbólum - „|”. Ebben az esetben a szabványos kimenet parancsot a bal oldalon a szimbólum |, küldik a szabványos bemenetről a program, hogy a jel jobb |.

Meg kell jegyezni, hogy a köpeny ugyanakkor az, hogy elvégezhessék a parancsokat tartalmazza a futó szállítószalag az egyes csapatok külön Például a héj, hogy amint az első program elindul, hogy adja ki semmit a kimeneti áramot, a következő parancs elindítja a folyamatot. Hasonlóképpen, minden következő parancsot hajt végre annak működését, adatokat vár a korábbi parancsot, és halad az eredményeket a későbbi bemenet. Ha azt szeretnénk, hogy győződjön meg valamilyen csapat teljesen befejezett megkezdése előtt a következő, akkor ugyanabban a sorban a csővezeték karakter |, és a pontosvessző ;. Mielőtt minden pontosvessző shell leáll, és várja a végén az összes előző utasítás tartalmazza a szállítószalag.

Szűrők - a parancsok (vagy programok), amely elfogadja bemeneti adatfolyam, termelő rajta, némi átalakítás és egy szabványos kimenetre (ahol lehet irányítani máshol a felhasználó). Között a szűrőket parancsok közé parancsok cat, több, kevesebb, wc, cmp, diff, és a következő parancsokat.

5.1 táblázat. csapatok szűrők

Kapcsolódó cikkek