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.
Linux Commands | ||
Files | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convert · rclone · shred · srm · scp · gzip · chattr · cut · find · umask · wc | |
Processes | alias · screen · top · nice · renice · progress · strace · systemd · tmux · chsh · history · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · yes · kill · sleep · sudo · su · time · groupadd · usermod · groups · lshw · shutdown · reboot · halt · poweroff · passwd · lscpu · crontab · date · bg · fg · pidof · nohup · pmap | |
Networking | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw · arping · firewalld |
RELATED: Best Linux Laptops for Developers and Enthusiasts