Linux Tutorials | tr command | GeeksforGeeks
Innholdsfortegnelse:
- Hvordan bruke
tr
kommandoen - Kombinere alternativer
- Tr kommandoeksempler
- Konverter små bokstaver til store bokstaver
- Fjern alle ikke-numeriske tegn
- Sett hvert ord i en ny linje
- Fjern blanke linjer
- Skriv ut
$PATH
kataloger på en egen linje - Konklusjon
tr
er et kommandolinjeverktøy i Linux og Unix-systemer som oversetter, sletter og klemmer tegn fra standardinngangen og skriver resultatet til standardutgangen.
tr
kommandoen kan utføre operasjoner som å fjerne gjentatte tegn, konvertere store bokstaver til små bokstaver og grunnleggende tegn erstatte og fjerne. Vanligvis brukes det i kombinasjon med andre kommandoer gjennom rørføring.
I denne opplæringen vil vi vise deg hvordan du bruker
tr
kommandoen gjennom praktiske eksempler og detaljerte forklaringer på de vanligste alternativene.
Hvordan bruke
tr
kommandoen
Syntaks for
tr
kommandoen er som følger:
tr OPTION… SET1
tr
godtar to sett med tegn, vanligvis med samme lengde, og erstatter tegnene til de første settene med de tilsvarende tegnene fra det andre settet.
En
SET
er i utgangspunktet en streng med karakterer, inkludert de spesielle tegnene som slipper unna.
I det følgende eksemplet vil
tr
erstatte alle tegn fra standardinngangen (linuxize), ved å kartlegge tegnene fra det første settet med de matchende tegnene fra det andre settet.
echo 'linuxize' | tr 'lin' 'red'
Hver forekomst av
l
erstattes med
r
,
i
med
e
og
n
med
d
:
reduxeze
Karaktersettene kan også defineres ved hjelp av tegnserier. I stedet for å skrive:
echo 'linuxize' | tr 'lmno' 'wxyz'
du kan bruke:
echo 'linuxize' | tr 'ln' 'w-z'
Når alternativet
-c
(
--complement
) brukes, erstatter
tr
alle tegn som ikke er i SET1.
I eksemplet nedenfor vil alle tegn bortsett fra "li" erstattes med det siste tegnet fra det andre settet:
echo 'linuxize' | tr -c 'li' 'xy'
liyyyiyyy
Som du kanskje har lagt merke til, har utgangen over en mer synlig karakter enn inngangen. Dette er fordi
echo
kommandoen skriver ut et usynlig nylinjetegn
som også erstattes med
y
. Hvis du vil gjengi en streng uten en ny linje, bruker du
-n
alternativet.
Alternativet
-d
(-
--delete
) forteller
tr
å slette tegn som er spesifisert i SET1. Når du sletter tegn uten å klemme, angir du bare ett sett.
Kommandoen nedenfor vil fjerne
l
,
i
og
z
tegn:
echo 'Linuxize' | tr -d 'liz'
L
tegnet blir ikke slettet fordi inndataene inneholder en stor bokstav
L
mens
l
tegnet i SET er små bokstaver.
Lnuxe
Alternativet
-s
(
--squeeze-repeats
) erstatter en sekvens med gjentatte forekomster med tegnsettet i den siste SET.
I eksemplet
tr
fjerner
tr
de gjentatte mellomromstegnene:
echo "GNU \ Linux" | tr -s ' '
GNU \ Linux
Når SET2 brukes, erstattes sekvensen til tegnet som er spesifisert i SET1 med SET2.
echo "GNU \ Linux" | tr -s ' ' '_'
GNU_\_Linux
Alternativet
-t
(-
--truncate-set1
) tvinger
tr
til å
--truncate-set1
til lengden på SET2 før du fortsetter videre.
Som standard, hvis SET1 er større enn SET2
tr
vil gjenbruk det siste tegnet på SET2. Her er et eksempel:
echo 'Linux ize' | tr 'abcde' '12'
Utgangen viser at tegnet
e
fra SET1 samsvarer med det siste tegnet på SET2, som er
2
:
Linux iz2
Nå bruker du den samme kommandoen med
-t
alternativet:
echo 'Linux ize' | tr -t 'abcde' '12'
Linux ize
Du kan se at de tre siste tegnene i SET1 er fjernet. SET1 blir 'ab', samme lengde som SET2, og det skiftes ikke.
Kombinere alternativer
tr
kommandoen lar deg også kombinere alternativene. For eksempel erstatter følgende kommando først alle tegn bortsett fra
i
med
0
og klemmer deretter de gjentatte
0
tegnene:
echo 'Linux ize' | tr -cs 'i' '0'
Tr kommandoeksempler
I denne delen vil vi dekke noen eksempler på vanlige bruksområder for
tr
kommandoen.
Konverter små bokstaver til store bokstaver
Konvertering av små bokstaver til store og små bokstaver er en av de typiske brukssakene til
tr
kommandoen.
samsvarer med små bokstaver og
samsvarer med alle store bokstaver.
echo 'Linuxize' | tr '' ''
LINUXIZE
I stedet for karakterklasser, kan du også bruke områder:
echo 'Linuxize' | tr 'az' 'A-Z'
For å konvertere store og små bokstaver, bytter du bare plasseringene til settene.
Fjern alle ikke-numeriske tegn
Følgende kommando fjerner alle ikke-numeriske tegn:
echo "my phone is 123-456-7890" | tr -cd
står for alle siffertegn, og ved å bruke alternativet
-c
, fjerner kommandoen alle ikke-sifrede tegn. Utgangen vil se slik ut:
Sett hvert ord i en ny linje
For å sette hvert ord i en ny linje, må vi matche alle ikke-alfanumeriske tegn og erstatte dem med en ny linje:
echo 'GNU is an operating system' | tr -cs '' '\n'
Fjern blanke linjer
For å slette de tomme linjene klemmer du ganske enkelt de repeterende nylinjetegnene:
tr -s '\n' < file.txt > new_file.txt
I kommandoen over bruker vi omdirigeringssymbolet
<
å føre innholdet i
file.txt
til
tr
kommandoen.
new_file.txt
>
skriver utdataene fra kommandoen til
new_file.txt
.
Skriv ut
$PATH
kataloger på en egen linje
Miljøvariabelen
$PATH
er en kolonavgrenset liste over kataloger som forteller skallet hvilke kataloger som skal søke etter kjørbare filer når du skriver en kommando.
For å skrive ut hver katalog på en egen linje må vi matche tykktarmen (:) og erstatte den med den nye linjen:
echo $PATH | tr ':' '\n'
/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin
Konklusjon
tr
er en kommando for å oversette eller slette tegn.
Selv om det er veldig nyttig, kan
tr
bare jobbe med enkeltpersoner. For mer kompleks mønster matching og strengmanipulering, bør du bruke
sed
eller
awk
.
Curl-kommando i linux med eksempler

Curl er et kommandolinjeverktøy for overføring av data fra eller til en server designet for å fungere uten brukerinteraksjon. I denne opplæringen vil vi vise deg hvordan du bruker krøllverktøyet gjennom praktiske eksempler og detaljerte forklaringer på de vanligste krøllalternativene.
Linux kutt kommando med eksempler

Cut er et verktøy for kommandolinjer som lar deg klippe deler av linjer fra spesifiserte filer eller data i rør og skrive ut resultatet til standardutdata. I denne opplæringen vil vi vise deg hvordan du bruker Linux cut-kommandoen gjennom praktiske eksempler og detaljerte forklaringer på de vanligste kuttalternativene.
Linux dato kommando med eksempler

Datokommandoen viser eller angir systemdatoen. Det er oftest brukt til å skrive ut dato og klokkeslett i forskjellige formater og beregne fremtidige og tidligere datoer.