tr コマンドには 連続した同じ文字を 1 文字にする -s というオプションがあります。
例えば次のようにスペースが続いている場合
abcde fghij
tr コマンドを使えば簡単にスペースを 1 つにすることができます。
abcde fghij
次のように指定します。
$ echo "abcde fghij" | tr -s [:space:] abcde fghij
[:space:]は、スペースやタブなどを示す文字クラスです。
ls の出力も簡単に加工できます。 (意味はないですが)
$ ls -ltr | head | tr -s [:space:]
total 9498
drwx------ 2 root root 48 1970-01-01 09:00 gconfd-root
drwx---rwx 2 root hpusers 48 2006-09-09 16:03 mmcache
drwxr-xr-x 2 apache apache 48 2006-09-09 16:11 fcgi
drwx------ 2 root root 120 2006-09-27 12:15 YaST2-06402-9kTlAk
drwxr-xr-x 4 root root 96 2007-06-03 17:21 pear
drwx------ 3 root root 80 2007-07-06 19:09 spamd-4708-init
drwx------ 3 root root 80 2007-07-06 22:28 spamd-4426-init
drwx------ 2 root root 120 2009-01-15 09:46 YaST2-04662-jtfPyg
srwxrwxrwx 1 mysql mysql 0 2010-03-04 08:29 mysql.sock
連続する「同じ文字」を 1 つにするだけなので [:alpha:] を 指定すると次のようになります。
$ echo "aaabbccddaaa" | tr -s [:alpha:]
abcda
思いがけないときに役に立つことがあります。