tr command
tr command in Linux is used to delete, translate and/or squeeze characters from standard input, writing to standard output.
For example, you can replace lower-case characters to upper-case characters:
cat file | tr [:lower:] [:upper:]
or use
cat file | tr [a-z] [A-Z]
$ cat file
Hello, my friend, my name is Maxim! I like programming 24/7.
$ cat file | tr [:lower:] [:upper:]
HELLO, MY FRIEND, MY NAME IS MAXIM! I LIKE PROGRAMMING 24/7.
You can also delete characters with -d option. For example:
$ cat file
Hello, my friend, my name is Maxim! I like programming 24/7.
$ cat file | tr -d ' '
Hello,myfriend,mynameisMaxim!Ilikeprogramming24/7.
$ cat file | tr -d ' 'pi
Hello,myfrend,mynamesMaxm!Ilkerogrammng24/7.
You can also squeeze characters (replace repeated ones with one):
$ cat file
Hello, myy friend, myyyy naaame is Maaaaaaaxim! I like programming 24/7.
$ cat file | tr -s y
Hello, my friend, my naaame is Maaaaaaaxim! I like programming 24/7.
$ cat file | tr -s ya
Hello, my friend, my name is Maxim! I like programming 24/7.
More examples:
$ cat file
Hello, my friend, my name is Maxim! I like programming 24/7.
$ cat file | tr ' ' '\n'
Hello,
my
friend,
my
name
is
Maxim!
I
like
programming
24/7.
$ cat file | tr -d "a-zA-z"
, , ! 24/7.
$ cat file | tr -d [:alnum:]
, , ! /.
$ cat file | tr [:punct:] PUNCT
HelloT my friendT my name is MaximP I like programming 24T7T
$ cat file | tr [:punct:] "PUNCT"
HelloT my friendT my name is MaximP I like programming 24T7T
$ cat file | tr [:punct:] ?
Hello? my friend? my name is Maxim? I like programming 24?7?
The problem with last examples is that tr works only with characters.