tr – 文字の変換・削除を行うコマンド

置換・変換

tr コマンドは、標準入力から受け取った文字を 変換・削除 して標準出力に返すコマンドです。
実務では、アルファベットの大文字・小文字変換や、不要な文字の削除、改行の置換などに利用されます。

構文(Syntax)

tr [オプション] SET1 [SET2]

主なオプション一覧

オプション説明使用例
(なし)SET1 を SET2 に変換`echo “abc”
-d指定した文字を削除echo "hello123" | tr -d 0-9
-s連続する同じ文字を1つに圧縮echo "aaabbb" | tr -s ab
-cSET1 の補集合を対象にする(NOT演算)echo "abc123" | tr -cd 0-9

実行例

小文字を大文字に変換

echo "hello world" | tr a-z A-Z

出力例:

HELLO WORLD

大文字を小文字に変換

echo "HELLO" | tr A-Z a-z

出力例:

hello

数字を削除

echo "user123" | tr -d 0-9

出力例:

user

改行をスペースに変換

echo -e "a\nb\nc" | tr '\n' ' '

出力例:

a b c 

連続するスペースを1つに圧縮

echo "a    b     c" | tr -s ' '

出力例:

a b c

数字以外を削除(補集合)

echo "abc123xyz" | tr -cd 0-9

出力例:

123

エラー例(SET2 を省略)

echo "abc" | tr abc

出力例:

tr: missing operand after 'abc'
Try 'tr --help' for more information.

関連コマンド

  • cut : 特定の列や文字を抽出
  • sed : 文字列置換や削除を含む高度な編集
  • awk : 抽出・加工に特化したテキスト処理言語
  • iconv : 文字コード変換

備考

  • tr標準入力から標準出力へ の変換専用。直接ファイル指定はできない(リダイレクトで対応)。
  • マルチバイト文字(日本語など)には非対応のことが多い。基本的に ASCII 文字に利用。
  • 文字範囲は a-z, A-Z, 0-9 などで指定可能。

参考

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント