Како користити команду рев на Линуку

Линук команда рев преокреће низове текста. Ова команда може да ради или на датом тексту или фајлу, и изгледа варљиво једноставно. Али као и многи услужни програми командне линије, његова права моћ постаје очигледна када га комбинујете са другим командама.

Команда рев је један од оних једноставних Линук услужних програма који на први поглед изгледа као нешто чудно. Обавља једну функцију: преокреће низове. И осим што може да одштампа страницу за брзу помоћ (-х) и да вам покаже њен број верзије (-В), не прихвата никакве опције командне линије.

Дакле, обрт преокреће жице, и то је то? Нема варијација или опција? Па, и да и не. Да, нема пермутација, али не, тешко да је то све. Овај водич вам показује како да га комбинујете за моћне операције.

Када користите рев као градивни блок у компликованијим секвенцама команди, он заиста почиње да показује своју вредност. рев је једна од групе команди (попут тац и иес) које су фасилитатори. Лакше је ценити њихову корисност када видите како чине коришћење других команди ефикаснијим.

Коришћење команде рев

Коришћен у командној линији без других параметара, рев узима било који откуцани унос, преокреће га, а затим га штампа у прозору терминала. То наставља да ради све док не притиснете Цтрл+Ц за излаз.

rev

Ако унесете неки текст и притиснете Ентер, рев ће одштампати стринг у обрнутом смеру—осим ако му не доставите палиндром, наравно.

  Како ће интеграција оба помоћи предузећу да расте

Прослеђивање текста рев

Можете користити ехо за пренос текста у рев.

echo one two three | rev

Такође можете да користите рев да бисте обрнули садржај целе датотеке текста, ред по ред. У овом примеру имамо датотеку која садржи листу имена датотека. Датотека се зове „филелист.ткт“.

rev filelist.txt

Сваки ред се чита из датотеке, преокреће, а затим се штампа у прозору терминала.

Комбиновање рев са другим командама

Ево примера коришћења цевовода улаза који двапут позива рев.

Ова команда уклања последњи знак из низа текста. Ово би могло бити корисно за уклањање знакова интерпункције. Морамо да користимо команду цут за оголити карактер.

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

Хајде да то разбијемо.

ецхо шаље стринг у први позив рев.
рев преокреће тетиву и поставља је у рез.
Опција -ц (знакови) говори цут да врати низ знакова из стринга.
Опција 2- каже цут да врати опсег знакова од знака два до краја реда. Ако је наведен други број, као што је 2-5, опсег би био од два до пет знакова. Нема другог броја значи „до краја низа“.
Обрнути стринг – минус његов први знак – се прослеђује рев који преокреће стринг, тако да се враћа у првобитни редослед.

Пошто смо одсекли први знак обрнутог низа, одсекли смо последњи знак оригиналног низа. Да, ово можете да урадите са сед или авк, али ово је лакша синтакса.

Одвајање последње речи

Можемо користити сличан трик да вратимо последњу реч реда.

Команда је слична последњој: поново користи рев два пута. Разлике леже у начину на који се команда за исечење користи за одабир делова текста.

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

Ево поделе команде:

  Како се унапред регистровати за Теккен Мобиле

ецхо шаље стринг у први позив рев.
рев преокреће тетиву и поставља је у рез.
Опција -д’ ‘ (делимитер) говори цут да врати низ знакова ограничен размаком.
Опција -ф1 говори цут да врати први део низа који не садржи граничник. Другим речима, први део реченице до првог размака.
Обрнута прва реч се прослеђује рев-у који преокреће стринг, тако да се враћа у првобитни редослед.

Пошто смо издвојили прву реч из обрнутог низа, одсекли смо последњу реч оригиналног низа. Последња реч реченице је била „реч“ и одштампана је за нас.

Исецање садржаја из датотека

Рецимо да имамо датотеку која садржи листу имена датотека, а имена датотека су под наводницима. Желимо да уклонимо наводнике из назива датотека.

Хајде да погледамо фајл:

less filelist.txt

Садржај датотеке нам се приказује у мањем.

Можемо уклонити интерпункцију са оба краја сваког реда помоћу следеће команде. Ова команда користи и рев и цут два пута.

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

Имена датотека су наведена за нас без наводника.

Команда се разлаже овако:

рев обрће линије у датотеци и пребацује их у рез.
Опција -ц (знакови) говори цут да врати низ знакова из сваке линије.
Опција 2- каже цут да врати опсег знакова од знака два до краја сваког реда.
Обрнути низови, минус њихови први знакови, се прослеђују рев.
рев обрће жице, тако да се враћају у првобитни редослед. По други пут су урезани.
Опција -ц (знакови) говори цут да врати низ знакова из сваког стринга.
Опција 2- каже цут да врати опсег знакова од знака два до краја сваког реда. Ово „прескаче“ водећи знак наводника, који је знак један у сваком реду.

  Како играти игре Дисцорд канала

Много цеви

Ево наредбе која враћа сортирану листу свих екстензија датотеке у тренутном директоријуму. Користи пет различитих Линук команди.

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

Процес је једноставан:

лс наводи датотеке у тренутном директоријуму. Они се убацују у рев.
рев преокреће имена датотека и пребацује их у рез.
цут враћа први део сваког имена датотеке до граничника. -д’.’ каже цут да користи тачку „.“ као граничник. Део обрнутих имена датотека до прве тачке су екстензије датотека. Они се убацују у рев.
рев преокреће екстензије датотека у њихов оригинални редослед. Они су распоређени у сорти.
сорт сортира екстензије датотека и преноси резултате у уник.
уник враћа једну листу за сваки тип јединствене екстензије датотеке. Имајте на уму да ако не постоји екстензија датотеке (као што је макефиле и директоријуми Хелп и гц_хелп), наведено је цело име датотеке.

Да бисте то учинили завршним додиром, додајте опцију командне линије -ц (цоунт) команди уник.

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

Сада добијамо сортирану листу различитих типова датотека у тренутном директоријуму са бројем сваког од њих.

То је прилично згодна једна линија!

дравроФ ог от дравкцаБ гниоГ

Понекад морате да идете уназад да бисте ишли напред. И обично напредујете најбрже као део тима.

Додајте рев свом репертоару наредби и ускоро ћете га користити да поједноставите иначе компликоване секвенце команди.