このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Linux】文字列の変換と削除:trコマンド

tr コマンドの概要

 「tr」コマンドは、標準入力から読み取った文字列を変換または削除するためのLinuxコマンドです。「tr」コマンドは、文字の置換、削除、圧縮などに使用され、テキスト処理の一環としてよく使われます。特に、大文字を小文字に変換したり、特定の文字を削除したりするのに便利です。

【構文】
tr [オプション] セット1 [セット2]

  • セット1: 変換または削除対象の文字セット。
  • セット2: 変換後の文字セット。

主なオプションと説明

以下の表に、「tr」コマンドの主なオプションとその説明をまとめます。

オプション説明
-d指定した文字を削除します。
-s連続する重複文字を1つに圧縮します。
主なオプションと説明

コマンドの使用例と解説

以下に、「tr」コマンドの具体的な使用例とその出力例を示します。

1.大文字を小文字に変換

・「echo "HELLO WORLD" | tr 'A-Z' 'a-z'」コマンドを実行します。

A-Z」という範囲の大文字を、対応する小文字「a-z」に変換します。

user01@ubuntu-vm:~$ echo "HELLO WORLD" | tr 'A-Z' 'a-z'
hello world

2.文字の削除

・「echo "hello 123 world 456" | tr -d '0-9'」コマンドを実行します。

数字「0-9」を削除します。

user01@ubuntu-vm:~$ echo "hello 123 world 456" | tr -d '0-9'
hello  world

3.連続する空白を1つに圧縮

・「echo "hello world" | tr -s ' '」コマンドを実行します。

連続する空白文字を1つに圧縮します。

user01@ubuntu-vm:~$ echo "hello    world" | tr -s ' '
hello world

4.文字セットの置換

・「echo "abcdef" | tr 'abc' '123'」コマンドを実行します。

文字「a」を「1」に、「b」を「2」に、「c」を「3」に置換します。

user01@ubuntu-vm:~$ echo "abcdef" | tr 'abc' '123'
123def

5.行末の改行を削除

・「echo -e "hello\nworld\n" | tr -d '\n'」コマンドを実行します。

行末の改行文字を削除して、1行にまとめます。

user01@ubuntu-vm:~$ echo -e "hello\nworld\n" | tr -d '\n'
helloworld

6.複数の空白文字を1つに圧縮しつつ特定文字を削除

・「echo "hello 123 world 456" | tr -s ' ' | tr -d '0-9'」コマンドを実行します。

まず、連続する空白を1つに圧縮し、その後、数字「0-9」を削除します。

user01@ubuntu-vm:~$ echo "hello    123   world   456" | tr -s ' ' | tr -d '0-9'
hello  world 

まとめ

 これらの例を通じて、「tr」コマンドを使うことで、文字列の変換や削除を効率的に行う方法が理解できたかと思います。「tr」コマンドは、シェルスクリプトやコマンドラインでのテキスト処理において非常に有用なツールです。