Skip to main content
  1. Comandi/

Tr

·2 mins
Alessio Barnini
Author
Alessio Barnini
Table of Contents

Cosa fa
#

Abbreviazione di translate. Sostituisce, comprime o elimina caratteri specifici dallo standard input.

Sintassi
#

tr [opzioni] set1 [set2]

Comandi essenziali
#

ComandoFlagCosa fa
tr 'a' 'b'Sostituisce ogni 'a' con 'b'.
tr 'a-z' 'A-Z'Trasforma tutto il testo in MAIUSCOLO.
tr -d '0-9'-d (delete)Rimuove tutti i numeri dal testo.
tr -s ' '-s (squeeze)Sostituisce sequenze di spazi multipli con uno spazio singolo.

Combinazioni utili
#

# Implementazione manuale del ROT13
# Prende A-M e le sposta in N-Z, e prende N-Z e le sposta in A-M
cat file.txt | tr 'A-Za-z' 'N-ZA-Mn-za-m'

Struttura della Rotazione (ASCII)
#

    Set 1 (Originale):  A B C D E F G H I J K L M | N O P Q R S T U V W X Y Z
                        ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ | ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
    Set 2 (Traslato):   N O P Q R S T U V W X Y Z | A B C D E F G H I J K L M

Scenario Reale
#

Un analista SOC riceve un log "sporco" con troppi spazi bianchi o caratteri speciali che rendono difficile il parsing. Può usare tr -s ' ' per ripulire l'output o tr -d '\r' per convertire file di log provenienti da Windows (che usano diversi terminatori di riga) in formato Linux leggibile.

Dove l'ho usato
#

  • bandit-11 — per decodificare il cifrario a rotazione.

Note personali
#

tr lavora solo su singoli caratteri, non su parole intere. Se devi cambiare "mela" con "pera", tr non è lo strumento giusto (useresti sed). È perfetto però per pulire velocemente file di testo o fare semplici offuscamenti.

Collegato a
#

  • system — categoria
  • sed — tool più avanzato per manipolazione testo

Related