tr

Translate, squeeze, or delete characters in text streams.

low risk

interactive breakdown — edit the command and press Explain
$ 
What it does

tr translates or transforms characters — replacing, deleting, or squeezing repeated characters. Only works on stdin/stdout, not files directly. Frequently used for case conversion, removing unwanted characters, and cleaning data.

Common flags
FlagMeaning
-d --deleteDelete specified characters
-s --squeeze-repeatsSqueeze repeated characters to one
-c --complementUse complement of the character set
Examples
echo 'Hello World' | tr '[:upper:]' '[:lower:]'Convert to lowercase · explain & risk-check →
echo 'hello' | tr 'a-z' 'A-Z'Convert to uppercase · explain & risk-check →
cat file.txt | tr -d '\r'Remove Windows carriage returns · explain & risk-check →
echo 'a b c' | tr -s ' 'Squeeze multiple spaces to one · explain & risk-check →
Pro tip

Use `tr -d '\r'` to fix Windows line endings in scripts cloned on Linux — a common cause of 'bad interpreter' errors.

Related
sed cut awk
Open the full explainer →More in Text Processing

Reference text is hand-written and may be incomplete — check man tr for your version. Test destructive commands on a non-production system first.