Linuxi käsud

Linuxi käsk

Linuxi käsk
Linuxis on “tr” sisseehitatud tööriist, mis suudab “tõlkida, pigistada ja / või kustutada märke standardsisendist, kirjutades standardväljundisse” (manulehelt).

Ametliku kirjelduse põhjal on selle tööriista väärtusest lihtne aru saada. Linux pakub välja suure hulga sisseehitatud tööriistu. On mõned spetsiaalsed, mis on teksti manipuleerimiseks ülikasulikud. Oleme juba kajastanud paljusid neist, näiteks Vim, Nano, awk, sed ja muid tööriistu.

Need, kes töötavad tekstidega regulaarselt, on tr-st kindlasti väga-väga kasulik. Selles artiklis illustreeritakse piisavate näidetega tr-i kõige tavalisemat kasutamist.

Märkus. Juhendaja kasutab tonni juhusliku sisuga näivfaile. Kõik juhuslikud stringid genereeritakse Juhuslik.org.

Asukoht

mis tr

See on käsutööriista „tr” täielik tee.

Põhikasutus

Tööriista “tr” kasutamiseks peate kasutama järgmist käsustruktuuri.

tr [SET1] [SET2]

Tekstide manipuleerimiseks tr abil on erinevaid võimalusi ja viise. Esmalt kontrollime seda demofaili.

kassi demo.txt

Kõik märgid on väiketähtedega, eks? Muutkem need suurtähtedeks!

kassi demo.txt | tr [: alumine:] [: ülemine:]

Siin näitab “tr” esimene parameeter tõlke sooritamist sisendi kõigi väiketähtedega. Teine osa ütleb, kuidas need väljundis suurtähtedeks muuta.

Teeme nüüd vastupidi.

kassi demo1.txt

kassi demo1.txt | tr [: ülemine:] [: alumine:]

Selle ülesande täitmiseks on ka teine ​​viis. Vaatame üle.

kassi demo.txt | tr [a-z] [A-Z]

Selle asemel, et käskida tr-l tõlkida suurtähed väiketähtedeks või väiketähtedest suurtähtedeks, käskisime tuvastada vahemikku „a” kuni „z” vastavad kirjed ja tõlkida nende ekvivalendiks vahemikust „A” kuni „Z”.

Seda sarnast meetodit saab kasutada ka väiketähtede tõlkimiseks.

kassi demo1.txt | tr [A-Z] [a-z]

Numbritega mängimine

Nägime, kuidas tõlkida suurtähed väikesteks, eks? On aeg mängida numbritega.

Järgmise käsu abil saame hõlpsalt tõlkida kõik numbrid (0–9) vastavateks märkideks!

kass demo_digit.txt

kass demo_digit.txt | tr [0-9] [a-z]

Vinge! Kuidas oleks suurtähtedega?

kass demo_digit.txt | tr [0-9] [A-Z]

Lihtne, samas huvitav, eks? Samuti võime tähemärgid teisendada numbriteks!

kassi demo_madalik.txt

kassi demo_madalik.txt | tr [a-z] [0-9]

Oh, tundub, et asjad läksid katki, eks? Noh, me saame kasutada tähti „a” kuni „j” ainult ühekohaliste numbrite tähistamiseks. Kui sellest tähemärgist on mõni märk väljas, asendab “tr” tähemärgi ']'.

Märkide kustutamine

Nagu ametlik kirjeldus ütleb, saab tr abil teha midagi enamat kui lihtsalt märkide tõlkimine. Järgmises näites uurime, kuidas kasutada märki "tr" teatud märkide kustutamiseks.

kass juhuslik.txt

Kustutame nüüd kõik numbrid sisust.

kass juhuslik.txt | tr -d [0–9]

Siinkohal on lipul “-d” käsk tr “kustutada” ja [0–9] tähistavad kustutatavad numbrid.

Saame seda teha ka tegelastega. Järgmine käsk säilitab kõik numbrid, kuid eemaldab kõik märgid.

kass juhuslik.txt | tr -d [a-z]

Kuidas oleks failist eemaldada ainult üks konkreetne märk?

kassi demo_madalik.txt

kassi demo_madalik.txt | tr -d 'y'

See kustutas failist kõik y-kirjed.

Korduvate märkide pigistamine

On aegu, kui märki korratakse järjestikku. Kui tegelete selliste tüütute probleemidega, laske lihtsalt tr-l selle eest hoolitseda! Järgmise käsu abil saate selliseid juhtumeid pigistada. See hoiab sisuliselt märgi algset esinemist ja kustutab täiendavad.

Esiteks on aeg kontrollida, kuidas demofail välja näeb.

kassi duplikaat.txt

Nüüd edastage sisu tr-le.

kassi duplikaat.txt | tr -s [: numbrit:]

Siin on parameeter “-s” indikaator “pigistamise” toimingu sooritamiseks.

Lausete purustamine / ühendamine

Tutvume demofailiga.

nahkhiire duplikaat.txt

See sisaldab lauset tühikutega, mis jagavad sõnu, eks? Jagame sõnad uuteks ridadeks.

kassi duplikaat.txt | tr "" "\ n"

See käsk asendas kõik tühikud uue rea märkidega.

Ühendame purustatud lause jälle pikaks lauseks.

nahkhiire duplikaat.txt

kassi duplikaat.txt | tr "\ n" ""

Tähemärkide tõlkimine

Nii nagu me tõlkisime tähemärke varem, teeme ka seekord sama, kuid ainult ühe tähemärgiga.

kassi demo.txt

Muutkem selles failis kõik uue rea tähemärgid semikooloniks.

kassi demo.txt | tr "\ n" ";"

Ma pidin selle kaja ümber keerama. Vastasel juhul tekitaks see teatud väljundi, sest viimane uue rea märk tõlgitakse ka semikooloniks.

Tegelaste vahetamiseks on erinev viis. Seda on aga raskem kontrollida.

kassi duplikaat1.txt

kassi duplikaat1.txt | tr -c 'd' 'z'

kassi duplikaat1.txt | tr -c 'd' 'z'

Vau! Pange see ümber kaja, et väljundit paremini mõista.

echo $ (kassi duplikaat1.txt | tr -c 'd' z ')

Mis siin juhtus? „-C” lipu kasutamisel hoiab „tr” sihtmärgi muutumatuna. Mittevastavuse korral muudetakse kõik teised tegelased. Siin asendati kõik tähed peale „b” tähega „z”.

Stringide tõlkimine

“Tr” võib töötada ka stringidega. Teeme stringide asendamise.

kassi duplikaat1.txt

kassi duplikaat1.txt | tr "duplicate" "not_duplicate"

Minu asendatav string on lühem kui asendatav string, nii et see ei sobinud.

Tähemärgid

Nüüdseks olete märganud, et „tr” toetab mitmeid tähemärke. Kuigi ülaltoodud näidetes kasutati paljusid neist, on ka muudest märkide komplektidest üsna palju abi. Siin on kõigi toetatud tähemärkide loend.

POSIXi märgistikud

  • [: number:]: numbrid 0–9
  • [: alfa:]: tähestikud a-z ja A-Z.
  • [: alnum:]: tähtnumbrilised tähemärgid
  • [: punkt:]: kirjavahemärgid
  • [: tühik:]: kõik tühimärgid, näiteks tühik, vaheleht, FF, CR, NL, FF jne.
  • [: ülemine:]: kõik suurtähed
  • [: alumine:]: kõik väiketähed
  • [: cntrl:]: kõik juhtmärgid (NL, CR, EXT, STX, ACK, SO, DC1, DC2, NAK, ETB, ESC, IS1, IS2, DEL jne.)

Täiendavad märgistikud

  • [A-Z]: kõik suurtähed
  • [a-z]: kõik väiketähed
  • [0-9]: kõik numbrid

Lõpumõtted

On palju võimalusi, kuidas kõik need tr-funktsioonid saavad kasutajatele kasu tuua. Soovitan alati tutvuda kõigi saadaolevate võimaluste ja põhjalike juhenditega kõigis Linuxi tööriistades nende mehelt, info- ja abilehtedelt, kuna need võivad pakkuda väärtuslikumaid teadmisi.

tr --abi

mees tr

info tr

Nautige!

X-Mouse Button Control abil saate hiire nupud erinevates tarkvarades erinevalt ümber teha
Võib-olla vajate tööriista, mis võiks muuta teie hiire juhtimissüsteemi iga kasutatava rakendusega. Sel juhul võite proovida rakendust nimega X hiiren...
Microsoft Sculpt Touch juhtmeta hiirte ülevaade
Lugesin hiljuti Microsoft Sculpt Touch juhtmevaba hiir ja otsustas selle osta. Pärast mõnda aega kasutamist otsustasin jagada sellega oma kogemusi. Se...
Rakenduse AppyMouse ekraanipaneel ja hiirekursor Windowsi tahvelarvutitele
Tahvelarvutite kasutajad tunnevad hiirekursorit sageli puudust, eriti kui neil on kombeks sülearvuteid kasutada. Puutetundliku ekraaniga nutitelefonid...