tr
on komentorivin apuohjelma Linux-ja Unix-järjestelmissä, joka muuntaa, poistaa, ja puristaa merkkiä vakiosyötettä ja kirjoittaa tuloksen vakiotulosteeseen.
tr
komento voi tehdä toimintoja, kuten poistaminen toistuvaa merkkejä, muuntaa isoja että pieniä kirjaimia, ja perus merkin vaihtaminen ja poistaminen. Tyypillisesti sitä käytetään yhdessä muiden komentojen kanssa putkiston kautta.,
tässä opetusohjelmassa näytetään, miten tr
– komentoa käytetään käytännön esimerkkien ja yksityiskohtaisten selitysten avulla yleisimmistä vaihtoehdoista.
Kuinka Käyttää tr-Komento #
syntaksi tr
komento on seuraava:
tr OPTION... SET1
tr
hyväksyy kaksi erilaista merkkiä, yleensä sama pituus, ja korvaa merkkiä ensimmäistä sarjaa vastaavaan merkkejä toisesta.,
SET
on pohjimmiltaan merkkijonon, mukaan lukien erityinen kenoviiva-karannut merkkiä.
seuraavassa esimerkissä tr
korvaa kaikki merkit alkaen standard input (linuxize), kartoittamalla hahmoja ensimmäiset matching niistä peräisin toisesta.,
echo 'linuxize' | tr 'lin' 'red'
Jokainen esiintyminen l
korvataan r
, i
e
, ja n
d
:
reduxeze
merkistöt voidaan määritellä myös käyttämällä luonne vaihtelee., Esimerkiksi kirjoittamisen sijaan:
echo 'linuxize' | tr 'lmno' 'wxyz'
käyttö:
echo 'linuxize' | tr 'l-n' 'w-z'
Kun -c
(--complement
) vaihtoehto on käytössä, tr
korvaa kaikki merkit, jotka eivät ole SET1.
alla olevassa esimerkissä kaikki merkit paitsi ”li” korvataan viimeinen merkki, toinen sarja:
echo 'linuxize' | tr -c 'li' 'xy'
liyyyiyyy
Kuten olet ehkä huomannut, lähtö yläpuolella, on yksi näkyvä merkki kuin tulo., Tämä on koska echo
komento tulostaa näkymätön rivinvaihtomerkkiä \n
, joka on myös korvata y
. Jos haluat kaikua merkkijonon ilman uutta riviä, käytä-n
– vaihtoehtoa.
-d
(--delete
) vaihtoehto kertoo tr
poista merkkejä määritelty SET1. Kun poistat merkkejä puristamatta, määritä vain yksi joukko.,
– komennon alla poistaa l
, i
ja z
merkit:
echo 'Linuxize' | tr -d 'liz'
L
merkki ei ole poistettu, koska tulo sisältää isoja L
vaikka l
hahmo on ASETETTU pieniksi.
Lnuxe
-s
(--squeeze-repeats
) vaihtoehto korvaa järjestyksessä toistuvien tapahtumien luonne asettaa viimeksi ASETETTU.,
seuraavassa esimerkissä tr
poistaa toistuva tilaa merkkejä:
echo "GNU \ Linux" | tr -s ' '
GNU \ Linux
Kun SET2 käytetään sekvenssi merkki määritelty SET1 on korvattu SET2.
echo "GNU \ Linux" | tr -s ' ' '_'
GNU_\_Linux
-t
(--truncate-set1
) vaihtoehto voimia tr
katkaista SET1 pituus SET2 ennen jatkokäsittelyä.,
oletuksena, jos SET1 on suurempi kuin SET2 tr
uudelleen viimeinen merkki SET2. Tässä on esimerkki:
echo 'Linux ize' | tr 'abcde' '12'
lähtö osoittaa, että merkki e
alkaen SET1 on sovitettu uusin luonnetta SET2, joka on 2
:
Linux iz2
Nyt, käytä sama komento, jossa -t
vaihtoehto:
echo 'Linux ize' | tr -t 'abcde' '12'
Linux ize
Voit nähdä, että kolme viimeistä merkkiä SET1 poistetaan., SET1: stä tulee ”ab”, joka on saman pituinen kuin SET2, eikä korvaajaa tehdä.
Yhdistämällä vaihtoehtoja #
tr
– komennon avulla voit myös yhdistää sen vaihtoehtoja. Esimerkiksi seuraava komento ensimmäisen korvaa kaikki merkit paitsi i
0
ja sitten puristaa toistuva 0
merkit:
echo 'Linux ize' | tr -cs 'i' '0'
0i0i0
Tr Komento Esimerkkejä #
tässä osiossa kerromme muutamia esimerkkejä tavallisia käyttötarkoituksia tr
komento.,
Muunna pienet kirjaimet isoiksi #
Muuntaa pienet kirjaimet isoiksi tai taaksepäin on yksi tyypillisiä käyttötapauksia tr
komento. ottelut kaikki pienillä kirjaimilla ja
ottelut kaikki isoja kirjaimia.
echo 'Linuxize' | tr '' ''
LINUXIZE
sen Sijaan, että hahmoluokkaa, voit myös käyttää alueet:
echo 'Linuxize' | tr 'a-z' 'A-Z'
muuntaa isot kirjaimet ja pienet kirjaimet, yksinkertaisesti vaihtaa paikkoja sarjaa.,
Poista kaikki ei-numeerisia merkkejä #
seuraava komento poistaa kaikki ei-numeerisia merkkejä:
echo "my phone is 123-456-7890" | tr -cd
tarkoittaa kaikkien numeroinen merkkiä, ja käyttämällä
-c
optio, komento poistaa kaikki ei-numero merkkejä.,näyttää tältä:
1234567890
Laittaa jokainen sana new line – #
laittaa jokainen sana new line, meidän täytyy sovittaa kaikki ei-aakkosnumeerisia merkkejä ja korvata ne uudella linjalla:
echo 'GNU is an operating system' | tr -cs '' '\n'
GNUisanoperatingsystem
Poista tyhjät rivit #
poista tyhjät rivit yksinkertaisesti purista toistuvia rivinvaihto merkkiä:
tr -s '\n' < file.txt > new_file.txt
komento edellä käytämme uudelleenohjaus symboli <
siirtää sisältöä file.txt
ja tr
komento., Uudelleenohjaus >
kirjoittaa lähtö komento new_file.txt
.
Print $POLKU hakemistoja erillinen linja #
$PATH
ympäristön muuttuja on kaksoispisteillä eroteltu lista hakemistoista, joka kertoo kuori, joka hakemistoja etsiä suoritettavia tiedostoja, kun kirjoitat komennon.,
tulostaa jokaisen hakemistoon erillinen linja meidän täytyy sovittaa paksusuolen (:
) ja vaihda sen tilalle uusi rivi:
echo $PATH | tr ':' '\n'
/usr/local/sbin/usr/local/bin/usr/sbin/usr/bin/sbin/bin
Johtopäätös #
tr
komento kääntämiseen tai poistamalla merkkejä.
Vaikka erittäin hyödyllinen, tr
voi työskennellä vain yhden merkin. Monimutkaisempia kaavoja ja string manipulointia, sinun tulisi käyttää sed
tai awk
.