tr で複数の文字を削除する方法

LinuxLinuxBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

tr コマンドは、テキストデータに対して文字の変換、削除、および変形操作を実行できる多機能な Linux ユーティリティです。このチュートリアルでは、tr コマンドの基本を説明し、文字の削除と変形機能を探索し、この強力なツールを習得するのに役立つ実用的なアプリケーションとユースケースを提供します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/InputandOutputRedirectionGroup(["Input and Output Redirection"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux/BasicFileOperationsGroup -.-> linux/cut("Text Cutting") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/TextProcessingGroup -.-> linux/sed("Stream Editing") linux/TextProcessingGroup -.-> linux/tr("Character Translating") linux/InputandOutputRedirectionGroup -.-> linux/pipeline("Data Piping") linux/InputandOutputRedirectionGroup -.-> linux/redirect("I/O Redirecting") subgraph Lab Skills linux/cut -.-> lab-422363{{"tr で複数の文字を削除する方法"}} linux/grep -.-> lab-422363{{"tr で複数の文字を削除する方法"}} linux/sed -.-> lab-422363{{"tr で複数の文字を削除する方法"}} linux/tr -.-> lab-422363{{"tr で複数の文字を削除する方法"}} linux/pipeline -.-> lab-422363{{"tr で複数の文字を削除する方法"}} linux/redirect -.-> lab-422363{{"tr で複数の文字を削除する方法"}} end

tr コマンドの基本を理解する

tr コマンドは「translate」(変換)の略で、テキストデータに対して文字の変換、削除、および変形操作を実行できる強力な Linux ユーティリティです。このコマンドは、テキストファイル、コマンドの出力、および入力ストリームの操作と処理に特に役立ちます。

tr コマンドの核心は、2 つの文字セットを入力として受け取り、それらの間で 1 対 1 のマッピングを行うことです。これは、最初のセット内の文字が出現するたびに、2 番目のセット内の対応する文字に置き換えられることを意味します。

tr コマンドの基本的な構文は次のとおりです。

tr [OPTION] SET1 [SET2]

ここで、SET1 は変換または削除する文字セットを表し、SET2 は変換に使用する文字セットを表します。OPTION パラメータを使用すると、文字の削除、繰り返し文字の圧縮など、追加の動作を指定できます。

tr コマンドの一般的なユースケースの 1 つは、テキストを大文字または小文字に変換することです。たとえば、次のコマンドは入力内のすべての文字を大文字に変換します。

echo "hello, world" | tr "[:lower:]" "[:upper:]"

これにより、次のように出力されます。

HELLO, WORLD

別の例として、入力から特定の文字を削除することができます。

echo "foo bar baz" | tr -d "a"

これにより、次のように出力されます。

foo br bz

tr コマンドの基本的な構文と機能を理解することで、幅広いテキスト操作タスクを実行できるため、Linux プログラミングのアーセナルにおいて貴重なツールとなります。

文字の削除と変換をマスターする

tr コマンドは、文字の削除と変換に関して強力な機能を提供します。文字範囲と文字クラスを活用することで、幅広いテキスト操作タスクを実行できます。

tr コマンドの一般的なユースケースの 1 つは、入力から特定の文字を削除することです。たとえば、文字列から文字 "a" と "b" のすべての出現を削除するには、次のコマンドを使用できます。

echo "foo bar baz" | tr -d "ab"

これにより、次のように出力されます。

fo r bz

-d オプションは、tr に指定された文字を削除するよう指示します。

文字範囲を使用して文字セットを指定することもできます。たとえば、文字列からすべての数字を削除するには、次のコマンドを使用できます。

echo "foo123bar456baz" | tr -d "0-9"

これにより、次のように出力されます。

foobarbaz

削除に加えて、tr コマンドは文字の変換にも使用できます。たとえば、すべての小文字を大文字に変換するには、次のコマンドを使用できます。

echo "hello, world" | tr "[:lower:]" "[:upper:]"

これにより、次のように出力されます。

HELLO, WORLD

ここで、[:lower:][:upper:] の文字クラスは、それぞれ小文字と大文字のセットを指定するために使用されています。

利用可能なさまざまな文字範囲と文字クラスを理解することで、tr コマンドを特定のテキスト操作ニーズに合わせることができ、Linux プログラミングのツールキットにおいて強力なツールとなります。

実用的なアプリケーションとユースケース

tr コマンドは、幅広い実用的なアプリケーションやユースケースで使用できる多機能なツールです。その強力さと柔軟性を示すために、いくつかの例を見てみましょう。

tr コマンドの一般的なユースケースの 1 つは、データのクリーニングと正規化です。名前のリストが含まれるファイルがあり、すべての名前を小文字に変換し、先頭または末尾の空白を削除したいとします。これは次のコマンドを使用して実現できます。

cat names.txt | tr "[:upper:]" "[:lower:]" | tr -d "[:space:]"

このコマンドは、まずすべての大文字を小文字に変換し、次に入力から先頭または末尾の空白を削除します。

tr コマンドのもう 1 つの有用なアプリケーションは、シェルスクリプトやデータ処理パイプラインでの使用です。たとえば、tr を使用して、カンマ区切り値 (CSV) ファイルから特定のフィールドを抽出することができます。

cat data.csv | tr "," "\n" | awk 'NR==2 {print $3}'

このコマンドは、まず tr を使用してすべてのカンマを改行文字に置き換え、実質的に CSV データを個々のフィールドに分割します。次に、awk コマンドを使用して、2 行目の 3 番目のフィールドを出力します(1 行目がヘッダーであると仮定)。

tr コマンドは、文字の置換にも使用でき、さまざまなテキスト処理タスクで役立ちます。たとえば、tr を使用して、特定の文字のすべての出現を別の文字に置き換えることができます。

echo " | tr "/" "-"

これにより、次のように出力されます。

https:-example.com

tr コマンドの多機能性を理解し、これらの実用的な例を調べることで、さまざまなテキスト操作やデータ処理タスクを合理化するために、Linux プログラミングのワークフローに組み込むことができます。

まとめ

tr コマンドの基本と、文字の削除および変換機能を理解することで、Linux 環境において幅広いテキスト操作タスクを実行できるようになります。テキストを大文字または小文字に変換することから、特定の文字を削除することまで、tr コマンドはデータ処理のワークフローを合理化できる貴重なツールです。このチュートリアルでは、tr コマンドを効果的に利用し、Linux コマンドラインのスキルを向上させるための知識と例を提供しました。