07. Transliterating text tr

The tr command is used as a character-based search and replace function.

Simple Bioinformatics

If you're a bioinformaticist, you may find the need to replace all T characters from a DNA strand to U's to obtain the corresponding mRNA strand. We can do this in a one-liner with the tr command.

$ echo 'CATCGTAGCTAGTCACTG' | tr T U
CAUCGUAGCUAGUCACUG

In biology, each DNA strand has a corresponding strand. G's pair to C's and T's pair to A's. Can we use tr to find the corresponding strand?

$ echo 'CAGTCGTACGTACGT' | tr 'ATGC' 'TACG'
GTCAGCATGCATGCA

Lowercase to Uppercase

You can use this function to map lowercase letters to uppercase.

$ echo 'what is up world?' | tr a-z A-Z
WHAT IS UP WORLD?

From standard in and to standard out

You may also use redirection to direct an input file and write to some output.

$ cat fox.txt
The quick brown fox jumped over the lazy dog.
$ tr 'aeiou' 'AEIOU' < fox.txt
ThE qUIck brOwn fOx jUmpEd OvEr thE lAzy dOg.
$ tr 'aeiou' 'AEIOU' < fox.txt > vowelsCappedFox.txt
# Output to vowelsCappedFox.txt

Deleting specific characters

With the -d option, we can delete specific characters from a string.

$ echo 'Removing all vowels' | tr -d 'aeiou'
Rmvng ll vwls

Squeezing text

We can eliminate repeated instances of a letter with the squeeze option, -s. This removes all repeated characters that occur in sequence.

$ echo '1111112222233333344444' | tr -s 123
12344444

Generating a secret message

We can generate an amateur secret message by mapping our lowercase characters to their inverse correspondence.

$ cat fox.txt | tr a-z zyxwvutsrqponmlkjihgfedcba
Tsv jfrxp yildm ulc qfnkvw levi gsv ozab wlt.

Take your Linux skills to the next level!

System Admin Handbook

Take your Linux skills to the next level! Try Linux & UNIX

This book approaches system administration in a practical way and is an invaluable reference for both new administrators and experienced professionals. It details best practices for every facet of system administration, including storage management, network design and administration, email, web hosting, scripting, and much more.

$ Check price
74.9974.99Amazon 4.5 logo(142+ reviews)

More Linux & UNIX resources

Aching back from coding all day?

Inversion Therapy Table

Aching back from coding all day? Try Back Problems

Stretch out your back and relieve your back muscles with inversion therapy. This device counteracts the forces of gravity on the body by decompressing and elongating the spine. By using this product just ten minutes a day, you can be well on your way to improved circulation and posture while relieving muscle aches, back pain and stress.

$$ Check price
119.98119.98Amazon 4.5 logo(1,700+ reviews)

More Back Problems resources

Ad