A rev parancs használata Linuxon

A Linux rev parancsa megfordítja a szöveges karakterláncokat. Ez a parancs a megadott szövegen vagy fájlon is működhet, és megtévesztően egyszerűnek tűnik. De mint sok parancssori segédprogram, valódi ereje akkor válik nyilvánvalóvá, ha más parancsokkal kombinálja.

A rev parancs egyike azon egyszerű Linux segédprogramoknak, amelyek első pillantásra furcsának tűnnek. Egyetlen funkciót lát el: megfordítja a karakterláncokat. És azon kívül, hogy ki tud nyomtatni egy gyors súgóoldalt (-h) és megmutatja a verziószámát (-V), nem fogad el semmit. parancssori opciók.

Szóval, a fordulatszám megfordítja a húrokat, és ennyi? Nincsenek változatok vagy lehetőségek? Nos, igen és nem. Igen, nincs permutációja, de nem, ez aligha minden. Ez az oktatóanyag bemutatja, hogyan kombinálhatja hatékony műveletekhez.

Ha a rev-t építőelemként használja a bonyolultabb parancssorozatokban, akkor kezd igazán megmutatkozni. A rev a parancsok azon csoportjának egyike (mint például a tac és a yes), amelyek elősegítők. Könnyebb megbecsülni a hasznosságukat, ha látjuk, hogyan teszik hatékonyabbá más parancsok használatát.

A ford. parancs használata

A parancssorban más paraméterek nélkül használva a rev bármilyen beírt bemenetet fogad, megfordítja, majd kinyomtatja a terminálablakban. Ezt addig csinálja, amíg meg nem nyomja a Ctrl+C billentyűkombinációt a kilépéshez.

rev

Ha beír egy szöveget, és megnyomja az Enter billentyűt, a rev fordítva nyomtatja ki a karakterláncot – hacsak nem ad meg palindrom, természetesen.

  Tekintse meg a Közös nyitvatartási időt, amikor megbeszéléseket tervez több időzónában

Szöveg átadása rev

Használhatja a visszhangot a szöveg rev.

echo one two three | rev

A rev segítségével soronként megfordíthatja egy teljes szövegfájl tartalmát. Ebben a példában van egy fájlunk, amely a fájlnevek listáját tartalmazza. A fájl neve „filelist.txt”.

rev filelist.txt

Minden sor beolvasásra kerül a fájlból, megfordítva, majd kinyomtatásra kerül a terminálablakba.

A fordulatszám kombinálása más parancsokkal

Íme egy példa a bemenet csövezésére, amely kétszer hívja meg a fordulatszámot.

Ez a parancs lehúzza az utolsó karaktert a szövegből. Ez hasznos lehet az írásjelek eltávolításához. A cut parancsot kell használnunk lehúzza a karaktert.

echo 'Remove punctuation.' | rev | cut -c 2- | rev

Bontsuk szét.

Az echo elküldi a karakterláncot az első rev hívásba.
rev megfordítja a húrt, és vágásba csövezi.
A -c (karakterek) kapcsoló arra utasítja a cutot, hogy egy karaktersorozatot adjon vissza a karakterláncból.
A 2- opció azt mondja a cut-nak, hogy visszaadja a karakterek tartományát a második karaktertől a sor végéig. Ha megadna egy második számot, például 2-5, a tartomány kettőtől ötig terjedne. A második szám hiánya azt jelenti, hogy „a karakterlánc végéig”.
A fordított karakterlánc – az első karakterétől eltekintve – a rev-nek kerül átadásra, amely megfordítja a karakterláncot, így visszaáll az eredeti sorrendbe.

Mivel a fordított karakterlánc első karakterét levágtuk, az eredeti karakterlánc utolsó karakterét is levágtuk. Igen, ezt megteheti sed vagy awk segítségével, de ez egy egyszerűbb szintaxis.

Az utolsó szó elválasztása

Hasonló trükkel visszaadhatjuk a sor utolsó szavát.

A parancs hasonló az előzőhöz: ismét kétszer használja a rev parancsot. A különbség abban rejlik, ahogyan a cut parancsot a szöveg egyes részei kijelölik.

echo 'Separate the last word' | rev | cut -d' ' -f1 | rev

Íme a parancsok lebontása:

  A legjobb webhelyek új nyelvek elsajátításához

Az echo elküldi a karakterláncot az első rev hívásba.
rev megfordítja a húrt, és vágásba csövezi.
A -d’ ‘ (határoló) opció azt mondja, hogy a cut szóközzel elválasztott karaktersorozatot ad vissza.
Az -f1 kapcsoló azt mondja a cutnak, hogy a karakterlánc első szakaszát adja vissza, amely nem tartalmazza a határolót. Más szóval, a mondat első része az első szóközig.
A megfordított első szót a rev adja át, amely megfordítja a karakterláncot, így visszaáll az eredeti sorrendbe.

Mivel kivontuk a fordított karakterlánc első szavát, levágtuk az eredeti karakterlánc utolsó szavát. A mondat utolsó szava „szó” volt, és ki van nyomtatva nekünk.

Tartalom kivágása fájlokból

Tegyük fel, hogy van egy fájlunk, amely a fájlnevek listáját tartalmazza, és a fájlnevek idézőjelben vannak. El akarjuk távolítani az idézőjeleket a fájlnevekből.

Nézzük a fájlt:

less filelist.txt

A fájl tartalma rövidebb idő alatt jelenik meg számunkra.

A következő paranccsal eltávolíthatjuk az írásjeleket az egyes sorok mindkét végéről. Ez a parancs kétszer használja a rev és cut parancsot.

rev filelist.txt | cut -c 2- | rev | cut -c 2-

A fájlnevek idézőjelek nélkül szerepelnek számunkra.

A parancs így bomlik:

rev megfordítja a vonalakat a fájlban, és kivágja azokat.
A -c (karakterek) kapcsoló azt mondja a cutnak, hogy minden sorból egy karaktersorozatot adjon vissza.
A 2- opció azt mondja a cut-nak, hogy visszaadja a karakterek tartományát a második karaktertől az egyes sorok végéig.
A fordított karakterláncok, mínusz az első karaktereik, átkerülnek a rev.
rev megfordítja a húrokat, így azok visszaállnak az eredeti sorrendbe. Másodszor is be vannak vágva.
A -c (karakterek) kapcsoló arra utasítja a cutot, hogy minden karaktersorozatból egy karaktersorozatot adjon vissza.
A 2- opció azt mondja a cut-nak, hogy visszaadja a karakterek tartományát a második karaktertől az egyes sorok végéig. Ez „átugorja” a bevezető idézőjelet, amely minden sorban egy karakter.

  Hogyan készítsünk biztonsági másolatot egy Drupal webhelyről Linuxon

Sok csővezeték

Íme egy parancs, amely az aktuális könyvtárban található összes fájlkiterjesztés rendezett listáját adja vissza. Öt különböző Linux-parancsot használ.

ls | rev | cut -d'.' -f1 | rev | sort | uniq

A folyamat egyszerű:

Az ls listázza az aktuális könyvtár fájljait. Ezek a rev.
A rev megfordítja a fájlneveket, és vágásba rendezi őket.
A cut minden fájlnév első részét adja vissza egy határolóig. A -d’.’ azt mondja a cutnak, hogy használja a „” pontot. mint a határoló. A fordított fájlnevek része az első pontig a fájlkiterjesztés. Ezek a rev.
rev megfordítja a fájlkiterjesztéseket az eredeti sorrendbe. Válogatásba kerülnek.
A sort rendezi a fájlkiterjesztéseket, és az eredményeket egyedi formátumba rendezi.
A uniq egyetlen listát ad vissza minden egyedi fájlkiterjesztéstípushoz. Megjegyzés: ha nincs fájlkiterjesztés (például a makefile, valamint a Help és gc_help könyvtárak esetében), akkor a teljes fájlnév megjelenik a listában.

Az utolsó simításhoz adja hozzá a -c (count) parancssori kapcsolót az uniq parancshoz.

ls | rev | cut -d'.' -f1 | rev | sort | uniq -c

Most kapunk egy rendezett listát az aktuális könyvtárban lévő különböző fájltípusokról, mindegyik számával.

Ez egy nagyon ügyes egysoros!

drawroF og ot drawkcaB gnioG

Néha hátra kell menni, hogy előre menjünk. És általában egy csapat tagjaként haladsz előre a leggyorsabban.

Adja hozzá a repertoárját a go-to parancsok repertoárjához, és hamarosan az egyébként bonyolult parancssorozatok egyszerűsítésére is használhatja.