„Linux“ komandos

„Linux tr“ komanda

„Linux tr“ komanda
„Linux“ sistemoje „tr“ yra įmontuotas įrankis, kuris gali „išversti, išspausti ir (arba) ištrinti simbolius iš standartinės įvesties, rašydamas į standartinę išvestį“ (iš žmogaus puslapio).

Remiantis oficialiu aprašymu, lengva suprasti šio įrankio vertę. „Linux“ pateikia didelę integruotų įrankių kolekciją. Yra keletas specialių, kurie yra labai naudingi manipuliuojant tekstu. Mes jau apėmėme keletą tokių, kaip „Vim“, „Nano“, „awk“, „sed“ ir kitus įrankius.

Tie, kurie reguliariai dirba su tekstais, „tr“ tikrai bus tikrai labai naudingi. Šiame straipsnyje bus paaiškinta dažniausiai vartojama „tr“ ir pateikiama pakankamai pavyzdžių.

Pastaba: pamokoje bus naudojama daugybė atsitiktinio turinio manekenių failų. Visas atsitiktines eilutes sukuria Atsitiktinis.org.

Vieta

kuri tr

Tai yra visas „tr“ komandų įrankio kelias.

Pagrindinis naudojimas

Norėdami naudoti „tr“ įrankį, turite naudoti šią komandų struktūrą.

tr [SET1] [SET2]

Yra įvairių variantų ir būdų, kaip manipuliuoti tekstais naudojant „tr“. Iš pradžių patikrinkime šį demonstracinį failą.

katės demonstracija.txt

Visi simboliai yra mažosiomis raidėmis, dešinėje? Paverskime juos didžiosiomis raidėmis!

katės demonstracija.txt | tr [: apatinis:] [: viršutinis:]

Čia pirmasis „tr“ parametras nurodo atlikti vertimą visiems įvesties mažosioms raidėms. Antroje dalyje sakoma, kaip išvestyje juos paversti didžiosiomis raidėmis.

Dabar darykime atvirkščiai.

katės demonstracija.txt

katės demonstracija.txt | tr [: viršutinė:] [: apatinė:]

Taip pat yra kitas būdas atlikti tą pačią užduotį. Patikrinkime.

katės demonstracija.txt | tr [a-z] [A-Z]

Užuot liepę „tr“ išversti didžiąsias į mažąsias arba mažąsias į didžiąsias, liepėme identifikuoti įrašus, atitinkančius diapazoną nuo „a“ iki „z“, ir išversti į jų atitikmenį nuo diapazono „A“ iki „Z“.

Šis panašus metodas taip pat gali būti naudojamas išversti didžiąsias į mažąsias.

katės demonstracija.txt | tr [A-Z] [a-z]

Žaidimas su skaičiais

Mes pamatėme, kaip iš didžiųjų raidžių išversti į mažąsias, dešinėje? Atėjo laikas pažaisti su skaitmenimis.

Naudodami šią komandą, mes galime lengvai išversti visus skaitmenis (0–9) į jų atitikmenis!

katės demo_digit.txt

katės demo_digit.txt | tr [0-9] [a-z]

Nuostabu! Kaip su didžiosiomis raidėmis?

katės demo_digit.txt | tr [0-9] [A-Z]

Paprasta, tačiau įdomi, teisinga? Taip pat galime pakeisti simbolius skaitmenimis!

katės demo_lowercase.txt

katės demo_lowercase.txt | tr [a-z] [0–9]

Oi, atrodo, kad viskas sugedo, tiesa? Na, mes galime naudoti tik „a“ - „j“, kad atspindėtume vienženklius skaitmenis. Jei yra koks nors simbolis, kuris nepatenka į šią ribą, „tr“ pakeis simbolį į „].

Ištrinami simboliai

Kaip rodo oficialus aprašymas, „tr“ gali ne tik išversti simbolius. Šiame pavyzdyje mes patikrinsime, kaip naudoti „tr“ tam, kad ištrintumėte tam tikrus simbolius.

katė atsitiktinė.txt

Ištrinkime visus numerius iš turinio.

katė atsitiktinė.txt | tr -d [0–9]

Čia „-d“ vėliava reiškia „tr“ ištrinti ir [0–9] žyminčius ištrinti skaitmenis.

Tai galime padaryti ir su personažais. Ši komanda išsaugos visus skaičius, bet pašalins visus simbolius.

katė atsitiktinė.txt | tr -d [a-z]

Kaip iš failo pašalinti tik vieną konkretų simbolį?

katės demo_lowercase.txt

katės demo_lowercase.txt | tr -d 'y'

Iš failo ištrinti visi „y“ įrašai.

Pakartotinių veikėjų gniuždymas

Yra atvejų, kai personažas kartojamas iš eilės. Jei sprendžiate tokius erzinančius klausimus, tiesiog leiskite „tr“ tuo pasirūpinti! Naudodami šią komandą, galite išspausti tokius įvykius. Iš esmės jis išlaiko pradinį simbolio atsiradimą ir pašalina papildomus.

Pirma, laikas patikrinti, kaip atrodo demonstracinis failas.

katės dublikatas.txt

Dabar perduokite turinį „tr“.

katės dublikatas.txt | tr -s [: skaitmenys:]

Čia parametras „-s“ yra veiksmas „išspausti“.

Sakinių laužymas / sujungimas

Peržiūrėkime demonstracinį failą.

šikšnosparnio dublikatas.txt

Jame yra sakinys su tarpais, dalijančiais žodžius, dešinė? Padalinkime žodžius į naujas eilutes.

katės dublikatas.txt | tr "" "\ n"

Ši komanda pakeitė visus tarpo simbolius naujos eilutės simboliais.

Suardykime sulaužytą sakinį vėl į ilgą sakinį.

šikšnosparnio dublikatas.txt

katės dublikatas.txt | tr "\ n" ""

Versti simbolius

Kaip ir anksčiau išvertėme simbolius, šį kartą atliksime tą patį, bet tik su vienu simboliu.

katės demonstracija.txt

Šiame faile pakeiskime visus naujos eilutės simbolius kabliataškiu.

katės demonstracija.txt | tr "\ n" ";"

Aš turėjau apvynioti „aidą“. Priešingu atveju tai sukurtų tam tikrą išvestį, nes paskutinis naujos eilutės simbolis taip pat būtų išverstas į kabliataškį.

Yra kitoks simbolių keitimo būdas. Tačiau šį sunku kontroliuoti.

katės dublikatas.txt

katės dublikatas.txt | tr -c 'd' 'z'

katės dublikatas.txt | tr -c 'd' 'z'

Oho! Apvyniokime „aidą“, kad geriau suprastume išvestį.

echo $ (katės dublikatas1.txt | tr -c 'd' 'z')

Kas čia atsitiko? Naudojant „-c“ vėliavą, „tr“ tik pakeis tikslinį simbolį. Neatitikimo atveju kiekvienas kitas personažas bus transformuotas. Čia bet koks simbolis, išskyrus „b“, buvo pakeistas „z“.

Stygų vertimas

„Tr“ taip pat gali dirbti su stygomis. Atlikime stygų pakeitimą.

katės dublikatas.txt

katės dublikatas.txt | tr "duplicate" "not_duplicate"

Mano pakeista eilutė yra trumpesnė nei eilutė, kuria reikia pakeisti, todėl ji netiko.

Simbolių rinkiniai

Dabar pastebėjote, kad yra daug simbolių, kuriuos palaiko „tr“. Nors kai kurie iš jų buvo naudojami aukščiau pateiktuose pavyzdžiuose, kiti simbolių rinkiniai taip pat yra naudingi. Čia pateikiamas visų palaikomų simbolių sąrašas.

POSIX simbolių rinkiniai

  • [: skaitmuo:]: 0–9 skaitmenys
  • [: alfa:]: abėcėlės a-z ir A-Z.
  • [: alnum:]: raidiniai ir skaitiniai simboliai
  • [: punct:]: skyrybos simboliai
  • [: tarpas:]: bet koks tarpas, pvz., tarpas, skirtukas, FF, CR, NL, FF ir kt.
  • [: viršutinė:]: visos didžiosios abėcėlės
  • [: mažesnė:]: visos mažosios raidės
  • [: cntrl:]: visi valdymo simboliai (NL, CR, EXT, STX, ACK, SO, DC1, DC2, NAK, ETB, ESC, IS1, IS2, DEL ir kt.)

Papildomi simbolių rinkiniai

  • [A-Z]: visos didžiosios abėcėlės
  • [a-z]: visos mažosios raidės
  • [0–9]: visi skaitmenys

Paskutinės mintys

Yra daugybė būdų, kaip visos šios „tr“ savybės gali būti naudingos vartotojams. Aš visada rekomenduoju patikrinti visas galimas „Linux“ įrankio galimybes ir išsamius vadovus iš jų vyro, informacijos ir pagalbos puslapių, nes jie gali pasiūlyti daugiau vertingų žinių.

tr --pagalba

vyras tr

info tr

Mėgautis!

Kaip užfiksuoti ir perduoti savo žaidimų sesiją sistemoje „Linux“
Anksčiau žaidimai buvo laikomi tik pomėgiu, tačiau laikui bėgant lošimų pramonė labai augo technologijų ir žaidėjų skaičiaus atžvilgiu. Žaidimų audito...
Geriausi žaidimai, kuriuos reikia žaisti naudojant rankos stebėjimą
„Oculus Quest“ neseniai pristatė puikią rankos stebėjimo be valdiklių idėją. „Oculus Quest“ rankų sekimo žaidimai iki šiol buvo ribojami, kai žaidimų ...
Kaip rodyti OSD perdangą viso ekrano „Linux“ programose ir žaidimuose
Žaisdami viso ekrano žaidimus arba naudodamiesi programomis be išsiblaškymo viso ekrano režimu, galite nutraukti nuo susijusios sistemos informacijos,...