Tr

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

tr - Ersätt eller ta bort tecken

Kommandot `tr` används för att ersätta eller ta bort tecken från standardinmatning och skriva resultatet till standardutmatning i Unix-liknande operativsystem.

Syntax

tr [ALTERNATIV]... SET1 [SET2]

Beskrivning

Kommandot `tr` läser från standardinmatning och utför teckenöversättning eller borttagning baserat på angivna teckenset och skriver resultatet till standardutmatning.

Alternativ

Kommandot `tr` stöder flera alternativ som kan användas för att justera dess beteende:

  • -c, --complement - Använd komplementet av SET1.
  • -d, --delete - Ta bort tecken i SET1.
  • -s, --squeeze-repeats - Ersätt upprepade förekomster av tecken som anges i SET1 med ett enda tecken.
  • -t, --truncate-set1 - Trunkera SET1 till samma längd som SET2.

Exempel

Här är några praktiska exempel som visar hur du kan använda `tr`-kommandot:

  • För att konvertera gemener till versaler:

echo "hello world" | tr 'a-z' 'A-Z'

  • För att ta bort alla gemener:

echo "Hello World" | tr -d 'a-z'

  • För att ersätta upprepade blanksteg med ett enda blanksteg:

echo "This  is   a   test" | tr -s ' '

  • För att konvertera tab-tecken till blanksteg:

echo -e "Hello\tWorld" | tr '\t' ' '

  • För att ta bort alla siffror:

echo "My phone number is 123-456-7890" | tr -d '0-9'

Skillnader mellan macOS och Linux

Det finns några viktiga skillnader att tänka på när man använder `tr`-kommandot på macOS jämfört med Linux:

  • Tillgänglighet: `tr` är tillgängligt både på macOS och Linux, och de flesta alternativ fungerar likadant på båda plattformarna.
  • Alternativ: De flesta alternativ som finns på GNU-versionen av `tr` är också tillgängliga på macOS, men det är bra att konsultera `man`-sidan på din specifika plattform för att vara säker.
  • Hantering av teckenkodningar: Hanteringen av teckenkodningar och reguljära uttryck kan skilja sig något mellan macOS och Linux, vilket kan påverka hur tecken matchas och ersätts.

Exempel på att använda `tr` på macOS:

  • För att konvertera gemener till versaler:

echo "hello world" | tr 'a-z' 'A-Z'

  • För att ta bort alla gemener:

echo "Hello World" | tr -d 'a-z'

Det är alltid bra att konsultera `man`-sidan för `tr` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.

Felsökning

Om du får ett felmeddelande när du använder `tr`, kontrollera följande:

  • Att du använder rätt syntax och alternativ för ditt specifika kommando.
  • Att teckensetten du försöker använda är giltiga och korrekt formulerade.
  • Att standardinmatningen är korrekt och innehåller tecken som kan matchas och ersättas.

Se även

  • sed - En strömaditor för textmanipulering.
  • awk - Ett språk och verktyg för textbehandling.
  • cut - Ta bort sektioner från varje rad i filer.
  • grep - Sök efter mönster i filer.

Källor