Powershell tutoriaali osa 1 (muuttujat, if/else)
Sisällysluettelo:
- Kuinka käyttää
trkomentoa - Yhdistä vaihtoehtoja
- Tr-komentoesimerkkejä
- Muunna pienet kirjaimet isoiksi
- Poista kaikki muut kuin numeeriset merkit
- Laita jokainen sana uudelle riville
- Poista tyhjät rivit
- Tulosta
$PATH-hakemistot erilliselle riville - johtopäätös
tr
on Linux- ja Unix-järjestelmissä komentorivi-apuohjelma, joka kääntää, poistaa ja puristaa merkkejä vakiotulosta ja kirjoittaa tuloksen vakiotulosteeseen.
tr
komento voi suorittaa toimintoja, kuten toistuvien merkkien poistaminen, isojen kirjaimien muuttaminen pieniksi ja perusmerkkien korvaaminen ja poistaminen. Tyypillisesti sitä käytetään yhdessä muiden komentojen kanssa putkiston kautta.
Tässä opetusohjelmassa me näytämme kuinka käyttää
tr
komentoa käytännön esimerkkien ja yksityiskohtaisten selitysten avulla yleisimmistä vaihtoehdoista.
Kuinka käyttää
tr
komentoa
tr
komennon syntaksi on seuraava:
tr OPTION… SET1
tr
hyväksyy kaksi merkkisarjaa, yleensä samanpituisia, ja korvaa ensimmäisten sarjojen merkit vastaavilla merkillä toisesta sarjasta.
SET
on periaatteessa merkkijono, joka sisältää erityiset alaviivalla karkotut merkit.
Seuraavassa esimerkissä
tr
korvaa kaikki merkit normaalitulosta (linuxize) kartoittamalla ensimmäisen ryhmän merkit vastaavilla toisen ryhmän merkillä.
echo 'linuxize' | tr 'lin' 'red'
Jokainen
l
esiintymä korvataan
r
,
i
llä
e
: llä ja
n
llä
d
: llä:
reduxeze
Merkkijoukot voidaan myös määritellä merkkialueilla. Esimerkiksi kirjoittamisen sijasta:
echo 'linuxize' | tr 'lmno' 'wxyz'
voit käyttää:
echo 'linuxize' | tr 'ln' 'w-z'
Kun
-c
(-
--complement
) -vaihtoehtoa käytetään,
tr
korvaa kaikki merkit, joita ei ole SET1: ssä.
Alla olevassa esimerkissä kaikki merkit paitsi “li” korvataan toisen sarjan viimeisellä merkillä:
echo 'linuxize' | tr -c 'li' 'xy'
liyyyiyyy
Kuten olet ehkä huomannut, yllä olevalla ulostulolla on yksi näkyvämpi merkki kuin tulolla. Tämä johtuu siitä, että
echo
komento tulostaa näkymättömän rivin merkin
joka myös korvataan
y
. Kaikuaksesi merkkijono ilman uutta riviä, käytä
-n
vaihtoehtoa.
-d
(- poista) -vaihtoehto käskee
tr
poistamaan SET1: ssä määritetyt merkit. Kun poistat merkkejä puristamatta, määritä vain yksi sarja.
Seuraava komento poistaa
l
,
i
ja
z
merkit:
echo 'Linuxize' | tr -d 'liz'
L
merkkiä ei poisteta, koska syötteessä on iso
L
kun taas SET-kirjaimen
l
merkki on pieni.
Lnuxe
-s
(-
--squeeze-repeats
) -vaihtoehto korvaa toistuvien esiintymien sarjan viimeisen SET-merkin kanssa.
Seuraavassa esimerkissä
tr
poistaa toistetut välilyönnit:
echo "GNU \ Linux" | tr -s ' '
GNU \ Linux
Kun käytetään SET2: ta, SET1: ssä määritetty merkkijono korvataan SET2: lla.
echo "GNU \ Linux" | tr -s ' ' '_'
GNU_\_Linux
Optio
-t
(-
--truncate-set1
) pakottaa
tr
katkaisemaan SET1: n SET2: n pituuteen ennen jatkojalostusta.
Oletusarvoisesti, jos SET1 on suurempi kuin SET2,
tr
käyttää uudelleen SET2: n viimeistä merkkiä. Tässä on esimerkki:
echo 'Linux ize' | tr 'abcde' '12'
Tulos osoittaa, että SET1: n merkki
e
vastaa SET2: n uusinta merkkiä, joka on
2
:
Linux iz2
Käytä nyt samaa komentoa
-t
vaihtoehdon kanssa:
echo 'Linux ize' | tr -t 'abcde' '12'
Linux ize
Voit nähdä, että SET1: n kolme viimeistä merkkiä on poistettu. SET1: stä tulee 'ab', saman pituinen kuin SET2: ta, eikä mitään korvata.
Yhdistä vaihtoehtoja
tr
komento antaa myös mahdollisuuden yhdistää sen vaihtoehdot. Esimerkiksi seuraava komento korvaa ensin kaikki merkit paitsi
i
merkillä
0
ja puristaa sitten toistetut
0
merkkiä:
echo 'Linux ize' | tr -cs 'i' '0'
Tr-komentoesimerkkejä
Tässä osassa kerromme muutamia esimerkkejä
tr
komennon yleisistä käytöistä.
Muunna pienet kirjaimet isoiksi
Pienten kirjainten muuntaminen isoiksi tai käänteisiksi on yksi
tr
komennon tyypillisistä käyttötapauksista.
vastaa kaikkia pieniä kirjaimia ja
vastaa kaikkia isoja kirjaimia.
echo 'Linuxize' | tr '' ''
LINUXIZE
Hahmoluokkien sijasta voit käyttää myös alueita:
echo 'Linuxize' | tr 'az' 'A-Z'
Voit muuntaa isot ja pienet kirjaimet yksinkertaisesti vaihtamalla sarjojen paikat.
Poista kaikki muut kuin numeeriset merkit
Seuraava komento poistaa kaikki ei-numeeriset merkit:
echo "my phone is 123-456-7890" | tr -cd
tarkoittaa kaikkia numeromerkkejä, ja
-c
vaihtoehdon avulla komento poistaa kaikki muut kuin merkit. Tulos näyttää tältä:
Laita jokainen sana uudelle riville
Jotta jokainen sana asetetaan uudelle riville, meidän on sovittava kaikki ei-aakkosnumeeriset merkit ja korvattava ne uudella rivillä:
echo 'GNU is an operating system' | tr -cs '' '\n'
Poista tyhjät rivit
Poista tyhjät rivit puristamalla toistuvat rivin merkit:
tr -s '\n' < file.txt > new_file.txt
Yllä olevassa komennossa käytämme uudelleenohjaussymbolia
<
jotta
file.txt
sisältö
file.txt
tr
komennolle. Uudelleenohjaus
>
kirjoittaa komennon
new_file.txt
.
Tulosta
$PATH
-hakemistot erilliselle riville
Ympäristömuuttuja
$PATH
on kaksoispisteellä eroteltu luettelo hakemistoista, joka kertoo kuorelle, mitkä hakemistot etsivät suoritettavia tiedostoja komentoa kirjoitettaessa.
Jokaisen hakemiston tulostamiseksi erilliselle riville meidän on vastattava kaksoispistettä (:) ja korvattava se uudella rivillä:
echo $PATH | tr ':' '\n'
/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin
johtopäätös
tr
on komento merkkien kääntämistä tai poistamista varten.
Vaikka
tr
on erittäin hyödyllinen, se voi toimia vain yksittäisillä merkkeillä. Monimutkaisempaan kuvioiden sovittamiseen ja merkkijonojen käsittelyyn tulisi käyttää
sed
tai
awk
.
Nokia menestyy Googlen avulla avoimen lähdekoodin avulla Symbian
Nokia omistaa avoimen lähdekoodin Symbian-mobiilikäyttöjärjestelmällä. Tämä rokottaa Googlen Androidia Nokian Symbiania vastaan. Miten asiat ravistelevat?
Hallitse Twitterä työpöydälläsi Spazin avulla - tai tee se paremmin TweetDeckin avulla
Tämä kevyt itsenäinen työpöytäasiakas.
Kuinka tarkistaa levytilaa Linuxissa df-komennon avulla
Kuinka paljon tilaa on jäljellä kiintolevylläni? Linux-pohjaisissa järjestelmissä voit käyttää df-komentoa saadaksesi yksityiskohtaisen raportin järjestelmän levytilan käytöstä.







