ウェブサイト検索

10 Linux での tr コマンドの例


tr (translate の略) は、stdin 入力から文字を変換および/または削除して、stdout に書き込む便利なコマンド ライン ユーティリティです。コマンドラインでテキストを操作するのに便利なプログラムです。

この記事では、Linux 初心者に役立つtr コマンドの例をいくつか説明します。

tr コマンドを実行するための構文は次のとおりです。SET1の文字はSET2の文字に変換されます。

tr flags [SET1] [SET2]

Linux tr コマンドの例

1. 簡単な tr コマンド の使用例は、以下に示すように、テキスト内のすべての小文字を大文字に変更し、その逆も同様です。

$ cat linux.txt

linux is my life
linux has changed my life
linux is best and everthing to me..:)
$ cat linux.txt | tr [:lower:] [:upper:]

LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)

2. または、次のコマンドを使用して、次のようにファイル内のすべての小文字を大文字に変更することもできます。

$ cat linux.txt | tr [a-z] [A-Z]

LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)

3. stdout に書き込まれた結果を後で処理できるようにファイルに保存するには、次のようにシェルの出力リダイレクト機能 (>) を使用します。

$ cat linux.txt | tr [a-z] [A-Z] >output.txt
$ cat output.txt 

LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)

4. リダイレクトに関しては、次に示すように、入力リダイレクトを使用して入力を tr に送信し、同じコマンドを使用して出力をファイルにリダイレクトできます。

$ tr [a-z] [A-Z] < linux.txt >output.txt

5. もう 1 つの便利な機能は、-d フラグを使用して文字を削除できることです。たとえば、次のコマンドを使用してドメイン名のスペースを削除できます。

$ cat domains.txt

www. tecmint. com
www. fossmint. com
www. linuxsay. com
$ cat domains.txt | tr -d '' 

linux-console.net
www.fossmint.com
www.linuxsay.com

6. 処理しているテキスト内に連続して繰り返される文字 (ダブルスペースなど) がある場合、-s オプションを使用して文字だけを残して圧縮することができます。それの一つの出来事。

$ cat domains.txt

www.tecmint.....com
www.fossmint.com
www.linuxsay.com
$ cat domains.txt | tr -s '' 

linux-console.net
www.fossmint.com
www.linuxsay.com

7. -c オプションは、tr に指定された SET で補数を使用するように指示します。この例では、すべての文字を削除し、UID のみを残します。

$ echo "My UID is $UID" | tr -cd "[:digit:]\n"
OR
$ echo "My UID is $UID" | tr -d "a-zA-Z"

8. ここでは、1 行の単語 (文) を複数の行に分割し、各単語を個別に表示する例を示します。

$ echo "My UID is $UID"

My UID is 1000

$ echo "My UID is $UID" | tr " "  "\n"

My 
UID 
is 
1000

9. 前の例に関連して、次のように複数行の単語を 1 つの文に翻訳することもできます。

$ cat uid.txt

My 
UID 
is 
1000

$ tr "\n" " " < uid.txt

My UID is 1000

10. 次のように、スペースなどの 1 文字だけを “ : ” 文字に変換することもできます。

$ echo "linux-console.net =>Linux-HowTos,Guides,Tutorials" | tr " " ":"

linux-console.net:=>Linux-HowTos,Guides,Tutorials

tr で使用できるシーケンス文字がいくつかあります。詳細については、tr のマニュアル ページを参照してください。

man tr

それだけです! tr は、コマンド ラインでテキストを操作するのに便利なコマンドです。このガイドでは、Linux 初心者向けに役立つtr コマンドの使用例をいくつか紹介しました。以下のコメントフォームからご意見をお聞かせください。