> For the complete documentation index, see [llms.txt](https://linux-tutorial-cli.gitbook.io/linux-cli-tutorial/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://linux-tutorial-cli.gitbook.io/linux-cli-tutorial/txt-files/tr.md).

# tr

## tr

The `tr` command in Unix and Linux is used to translate or delete characters from the standard input and write the result to the standard output. It is commonly used for simple text processing tasks such as changing case, deleting characters, and squeezing repeated characters.

#### Basic Usage

The basic syntax for the `tr` command is:

```sh
tr [options] SET1 [SET2]
```

* **`options`**: Command-line options to control the behavior of `tr`.
* **`SET1`**: The set of characters to be replaced or deleted.
* **`SET2`**: The set of characters to replace those in `SET1` (if specified).

#### Examples

**Translating Characters**

To translate lowercase characters to uppercase:

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

Output:

```
HELLO WORLD
```

This command translates all lowercase letters in the input string to uppercase.

**Deleting Characters**

To delete specific characters:

```sh
echo "hello 123 world" | tr -d '0-9'
```

Output:

```
hello  world
```

This command deletes all digits from the input string.

**Squeezing Repeated Characters**

To squeeze (remove repeated) characters:

```sh
echo "aaabbbbcc" | tr -s 'a-c'
```

Output:

```
abc
```

This command squeezes repeated occurrences of characters 'a', 'b', and 'c' in the input string.

#### Options

**`-d` Option: Delete Characters**

The `-d` option is used to delete characters specified in `SET1`.

```sh
echo "hello 123 world" | tr -d '0-9'
```

This command deletes all digits from the input string.

**`-s` Option: Squeeze Characters**

The `-s` option is used to replace each sequence of repeated characters listed in `SET1` with a single occurrence of that character.

```sh
echo "helloo   wooorld" | tr -s ' '
```

Output:

```
helloo wooorld
```

This command replaces each sequence of spaces with a single space.

#### Practical Use Cases

**Changing Case**

To change the case of characters in a text:

```sh
echo "Hello World" | tr 'A-Z' 'a-z'
```

Output:

```
hello world
```

This command converts all uppercase letters to lowercase.

**Removing Unwanted Characters**

To remove unwanted characters, such as non-printable characters:

```sh
cat file.txt | tr -d '\000-\011\013-\037'
```

This command removes all non-printable characters from `file.txt`.

**Replacing Characters**

To replace specific characters with another set of characters:

```sh
echo "foo bar" | tr 'o' '0'
```

Output:

```
f00 bar
```

This command replaces all occurrences of 'o' with '0' in the input string.

#### Summary

The `tr` command is a versatile and powerful tool for simple text processing in Unix and Linux environments. Its ability to translate, delete, and squeeze characters makes it ideal for tasks such as changing case, removing unwanted characters, and condensing repeated characters. Understanding its options and use cases can significantly enhance your text manipulation capabilities.

## help

```
tr [options] SET1 SET2

Translate or delete characters.

Options:

-d, --delete        Delete characters instead of translating them.
-s, --squeeze       Squeeze repeated characters.
-c, --complement     Complement the set of characters.
-h, --help           Show this help message.
```

### breakdown

```
-d, --delete: This option deletes characters instead of translating them.
-s, --squeeze: This option squeezes repeated characters.
-c, --complement: This option complements the set of characters.
-h, --help: This option shows this help message.
```
