Si të përdorni komandën rev në Linux


Komanda rev e Linux-it kthen vargjet e tekstit. Kjo komandë mund të funksionojë ose në tekstin e dhënë ose një skedar, dhe duket jashtëzakonisht e thjeshtë. Por si shumë shërbime të linjës së komandës, fuqia e saj reale bëhet e dukshme kur e kombinoni atë me komanda të tjera.

Komanda rev është një nga ato shërbime të thjeshta Linux që, në shikim të parë, duket të jetë diçka e çuditshme. Kryen një funksion të vetëm: kthen mbrapsht vargjet. Dhe përveçse mund të printojë një faqe ndihme të shpejtë (-h) dhe t'ju tregojë numrin e versionit të saj (-V), nuk pranon asnjë opsion të linjës së komandës .

Pra, rev i kthen vargjet, dhe kjo është ajo? Nuk ka variacione apo opsione? Epo, po dhe jo. Po, nuk ka permutacione, por jo, kjo nuk është e gjitha. Ky tutorial ju tregon se si ta kombinoni atë për operacione të fuqishme.

Kur përdorni rev si një bllok ndërtimi në sekuenca komandash më të ndërlikuara, ai me të vërtetë fillon të tregojë vlerën e tij. rev është një nga një grup komandash (si tac dhe po) që janë lehtësues. Është më e lehtë të vlerësosh dobinë e tyre kur shikon se si e bëjnë më efikas përdorimin e komandave të tjera.

Duke përdorur komandën rev

I përdorur në vijën e komandës pa parametra të tjerë, rev merr çdo hyrje të shtypur, e kthen atë mbrapsht dhe më pas e printon në dritaren e terminalit. Ai vazhdon ta bëjë këtë derisa të shtypni Ctrl+C për të dalë.

rev

Nëse shkruani një tekst dhe shtypni Enter, kjo bën që rev të printojë vargun në të kundërt—nëse nuk i jepni, sigurisht, një palindrom.

Kalimi i tekstit në rev

Ju mund të përdorni echo për të transmetuar tekstin në rev.

echo one two three | rev

Ju gjithashtu mund të përdorni rev për të kthyer përmbajtjen e një skedari të tërë teksti, rresht pas rreshti. Në këtë shembull, ne kemi një skedar që përmban një listë të emrave të skedarëve. Skedari quhet filelist.txt.

rev filelist.txt

Çdo rresht lexohet nga skedari, kthehet mbrapsht dhe më pas printohet në dritaren e terminalit.

Kombinimi i rrotullimit me komanda të tjera

Ja një shembull i përdorimit të tubacionit të hyrjes që thërret dy herë rev.

Kjo komandë heq karakterin e fundit nga vargu i tekstit. Kjo mund të jetë e dobishme për të hequr shenjat e pikësimit. Duhet të përdorim komandën cut për të hequr karakterin.

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

Le ta zbërthejmë atë.

  • echo dërgon vargun në thirrjen e parë në rev.
  • rev e kthen mbrapsht vargun dhe e fut atë në prerje.
  • Opsioni -c (karaktere) i thotë cut të kthejë një sekuencë karakteresh nga vargu.
  • Opsioni 2- i thotë cut të kthejë gamën e karaktereve nga karakteri dy deri në fund të rreshtit. Nëse do të jepej një numër i dytë, si p.sh. 2-5, diapazoni do të ishte nga karakteret dy deri në pesë. Asnjë numër i dytë nuk do të thotë deri në fund të vargut.
  • Stargu i kthyer - pa karakterin e tij të parë - kalohet te rev që e kthen mbrapsht vargun, kështu që kthehet në rendin e tij origjinal.

Për shkak se kemi prerë karakterin e parë të vargut revers, kemi prerë karakterin e fundit të vargut origjinal. Po, mund ta bëni këtë me sed ose awk, por kjo është një sintaksë më e lehtë.

Ndarja e Fjalës së Fundit

Mund të përdorim një truk të ngjashëm për të kthyer fjalën e fundit të rreshtit.

Komanda është e ngjashme me atë të fundit: përsëri, ai përdor rev dy herë. Dallimet qëndrojnë në mënyrën se si komanda cut përdoret për të zgjedhur pjesë të tekstit.

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

Këtu është zbërthimi i komandës:

  • echo dërgon vargun në thirrjen e parë në rev.
  • rev e kthen mbrapsht vargun dhe e fut atë në prerje.
  • Opsioni -d  (delimiter) i thotë cut të kthejë një sekuencë karakteresh të kufizuara nga një hapësirë.
  • Opsioni -f1 i thotë cut të kthejë seksionin e parë të vargut që nuk përmban ndarësin. Me fjalë të tjera, pjesa e parë e fjalisë deri në hapësirën e parë.
  • Fjala e parë e përmbysur kalon te rev e cila e kthen mbrapsht vargun, kështu që kthehet në rendin e saj origjinal.

Për shkak se kemi nxjerrë fjalën e parë të vargut të kthyer, kemi prerë fjalën e fundit të vargut origjinal. Fjala e fundit e fjalisë ishte fjalë dhe është shtypur për ne.

Prerja e përmbajtjes nga skedarët

Le të themi se kemi një skedar që përmban një listë me emra skedarësh dhe emrat e skedarëve janë në thonjëza. Ne duam të heqim thonjëzat nga emrat e skedarëve.

Le të shohim dosjen:

less filelist.txt

Përmbajtja e skedarit shfaqet për ne në pak.

Ne mund të heqim shenjat e pikësimit nga të dy skajet e çdo rreshti me komandën e mëposhtme. Kjo komandë përdor dy herë rev dhe prerje.

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

Emrat e skedarëve janë të listuar për ne pa thonjëza.

Komanda ndahet si kjo:

  • rev përmbys rreshtat në skedar dhe i vendos ato në prerje.
  • Opsioni -c (karaktere) i thotë cut të kthejë një sekuencë karakteresh nga çdo rresht.
  • Opsioni 2- i thotë cut të kthejë gamën e karaktereve nga karakteri dy deri në fund të çdo rreshti.
  • Stargjet e kthyera, minus karakteret e tyre të para, kalohen te rev.
  • rev i kthen vargjet, kështu që ato kthehen në rendin e tyre origjinal. Ata janë futur në prerë për herë të dytë.
  • Opsioni -c (karaktere) i thotë cut të kthejë një sekuencë karakteresh nga çdo varg.
  • Opsioni 2- i thotë cut të kthejë gamën e karaktereve nga karakteri dy deri në fund të çdo rreshti. Kjo kalon mbi thonjëzën kryesore, e cila është një karakter në çdo rresht.

Shumë tubacione

Këtu është një komandë që kthen një listë të renditur të çdo shtesë skedari në drejtorinë aktuale. Ai përdor pesë komanda të ndryshme Linux.

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

Procesi është i drejtpërdrejtë:

  • ls  liston skedarët në drejtorinë aktuale. Këto janë futur në rev.
  • rev i kthen emrat e skedarëve dhe i vendos ato në prerje.
  • cut kthen pjesën e parë të çdo emri skedari deri në një kufizues. -d. i thotë prerjes të përdorë pikën . si kufizues. Pjesa e emrave të skedarëve të kundërt deri në periudhën e parë janë shtesat e skedarëve. Këto janë futur në rev.
  • rev i kthen shtesat e skedarëve në rendin e tyre origjinal. Ato janë futur në rendit.
  • rendit rendit shtesat e skedarëve dhe i vendos rezultatet në uniq.
  • uniq kthen një listë të vetme për çdo lloj shtesë të skedarit unik. Vini re nëse nuk ka shtesë skedari (si p.sh. për skedarin e krijuar dhe drejtoritë Help dhe gc_help), i gjithë emri i skedarit është i listuar.

Për t'i dhënë një prekje të fundit, shtoni opsionin e linjës së komandës -c (count) në komandën uniq.

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

Tani marrim një listë të renditur të llojeve të ndryshme të skedarëve në drejtorinë aktuale me një numërim të secilit.

Kjo është një linjë mjaft e bukur me një linjë!

tërheqjeF og ot tërheqkcaB gnioG

Ndonjëherë duhet të shkosh prapa për të ecur përpara. Dhe zakonisht ecni përpara më shpejt si pjesë e një ekipi.

Shto rev në repertorin tënd të komandave dhe së shpejti do ta përdorësh për të thjeshtuar sekuencat e komandës të komplikuara ndryshe.

RELATED: Best Linux Laptops for Developers and Enthusiasts