Sådan bruger du rev ​​Command på Linux

Linuxs rev-kommando vender tekststrenge om. Denne kommando kan fungere enten på den medfølgende tekst eller en fil, og det virker vildledende simpelt. Men ligesom mange kommandolinjeværktøjer bliver dens reelle kraft tydelig, når du kombinerer den med andre kommandoer.

Rev-kommandoen er et af de simple Linux-værktøjer, der ved første øjekast ser ud til at være noget mærkeligt. Den udfører en enkelt funktion: den vender strenge. Og bortset fra at kunne udskrive en hurtig hjælpeside (-h) og vise dig dens versionsnummer (-V), accepterer den ikke nogen kommandolinjeindstillinger.

Så rev vender strenge om, og det er det? Ingen variationer eller muligheder? Nå, ja og nej. Ja, det har ingen permutationer, men nej, det er næppe alt. Denne vejledning viser dig, hvordan du kombinerer det til kraftfulde operationer.

Når du bruger rev som byggeklods i mere komplicerede kommandosekvenser, begynder det virkelig at vise sit værd. rev er en af ​​en gruppe af kommandoer (som tac og yes), der er facilitatorer. Det er lettere at forstå deres anvendelighed, når du ser, hvordan de gør brugen af ​​andre kommandoer mere effektiv.

Brug af rev Command

Brugt på kommandolinjen uden andre parametre, tager rev ethvert indtastet input, vender det om og udskriver det derefter i terminalvinduet. Det bliver ved med at gøre dette, indtil du trykker på Ctrl+C for at afslutte.

rev

Hvis du skriver noget tekst og trykker på Enter, får det rev til at udskrive strengen omvendt – medmindre du giver den en palindrom, selvfølgelig.

  Sådan installeres Skype på Linux

Sender tekst til rev

Du kan bruge ekko til at overføre tekst til rev.

echo one two three | rev

Du kan også bruge rev til at vende indholdet af en hel tekstfil linje for linje. I dette eksempel har vi en fil, der indeholder en liste over filnavne. Filen hedder “filelist.txt.”

rev filelist.txt

Hver linje læses fra filen, vendes og udskrives derefter til terminalvinduet.

Kombinerer omdrejninger med andre kommandoer

Her er et eksempel, der bruger rørføring af input, der kalder omdrejninger to gange.

Denne kommando fjerner det sidste tegn fra tekststrengen. Dette kan være nyttigt for at fjerne tegnsætning. Vi skal bruge cut-kommandoen til strippe karakteren.

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

Lad os bryde det ned.

echo sender strengen ind i det første kald til rev.
omdrejninger vender strengen og rører den i snit.
Indstillingen -c (tegn) fortæller cut at returnere en sekvens af tegn fra strengen.
2- muligheden fortæller cut at returnere rækken af ​​tegn fra tegn to til slutningen af ​​linjen. Hvis der blev angivet et andet tal, såsom 2-5, ville intervallet være fra tegn to til fem. Intet andet tal betyder “op til slutningen af ​​strengen.”
Den omvendte streng – minus dens første tegn – sendes til rev, som vender strengen om, så den er tilbage til sin oprindelige rækkefølge.

Fordi vi trimmede det første tegn af den omvendte streng, trimmede vi det sidste tegn af den originale streng. Ja, du kunne gøre dette med sed eller awk, men dette er en lettere syntaks.

At adskille det sidste ord

Vi kan bruge et lignende trick til at returnere det sidste ord i linjen.

  Sådan aktiveres Snap Package Support på Linux Mint

Kommandoen ligner den sidste: igen bruger den rev to gange. Forskellene ligger i måden cut-kommandoen bruges til at vælge dele af teksten.

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

Her er kommandoopdelingen:

echo sender strengen ind i det første kald til rev.
rev vender strengen og rører den ind i snit.
Indstillingen -d’ ‘ (afgrænser) fortæller cut at returnere en sekvens af tegn afgrænset af et mellemrum.
Indstillingen -f1 fortæller cut at returnere den første sektion af strengen, der ikke indeholder afgrænsningstegnet. Med andre ord den første del af sætningen op til det første mellemrum.
Det omvendte første ord sendes til rev, som vender strengen om, så det er tilbage til sin oprindelige rækkefølge.

Fordi vi udtrak det første ord i den omvendte streng, trimmede vi det sidste ord af den originale streng. Det sidste ord i sætningen var “ord”, og det er udskrevet til os.

Trimning af indhold fra filer

Lad os sige, at vi har en fil, der indeholder en liste over filnavne, og filnavnene er i anførselstegn. Vi ønsker at fjerne anførselstegnene fra filnavnene.

Lad os se på filen:

less filelist.txt

Indholdet af filen vises for os på mindre.

Vi kan fjerne tegnsætningen fra begge ender af hver linje med følgende kommando. Denne kommando bruger både rev og cut to gange.

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

Filnavnene er angivet for os uden anførselstegn.

Kommandoen opdeles således:

rev vender linjerne i filen og rører dem i snit.
Indstillingen -c (tegn) fortæller cut at returnere en sekvens af tegn fra hver linje.
2-indstillingen fortæller cut at returnere rækken af ​​tegn fra tegn to til slutningen af ​​hver linje.
De omvendte strenge, minus deres første tegn, sendes til rev.
rev vender strengene om, så de er tilbage til deres oprindelige rækkefølge. De røres i snit en anden gang.
Indstillingen -c (tegn) fortæller cut at returnere en sekvens af tegn fra hver streng.
2-indstillingen fortæller cut at returnere rækken af ​​tegn fra tegn to til slutningen af ​​hver linje. Dette “hopper over” det førende anførselstegn, som er et tegn på hver linje.

  Sådan opsætter du VNC-skrivebordsdeling på Linux med TigerVNC

En masse rør

Her er en kommando, der returnerer en sorteret liste over hver filtypenavn i den aktuelle mappe. Den bruger fem forskellige Linux-kommandoer.

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

Processen er ligetil:

ls viser filerne i den aktuelle mappe. Disse føres ind i rev.
rev vender filnavnene om og overfører dem til cut.
cut returnerer den første del af hvert filnavn op til et skilletegn. Den -d’.’ fortæller cut at bruge punktum “.” som afgrænsning. Den del af de omvendte filnavne op til den første punktum er filtypenavnene. Disse føres ind i rev.
rev vender filtypenavnene til deres oprindelige rækkefølge. De er rørt i sort.
sort sorterer filtypenavnene og overfører resultaterne til uniq.
uniq returnerer en enkelt liste for hver type unik filtypenavn. Bemærk, at hvis der ikke er nogen filtypenavn (såsom for makefilen og mapperne Help og gc_help), vises hele filnavnet.

For at sætte prikken over i’et skal du tilføje kommandolinjeindstillingen -c (tælle) til uniq-kommandoen.

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

Vi får nu en sorteret liste over de forskellige filtyper i den aktuelle mappe med et antal af hver.

Det er en ret smart one-liner!

drawroF og ot drawkcaB gnioG

Nogle gange skal man tilbage for at gå fremad. Og du går som regel hurtigst frem som en del af et hold.

Tilføj rev til dit repertoire af gå-til-kommandoer, og du vil snart bruge det til at forenkle ellers komplicerede kommandosekvenser.