1. 概要

このチュートリアルでは、Linuxでtrを使用して文字列を操作する方法を説明します。

これらのコマンドはBashを使用してテストしましたが、POSIX準拠の端末で機能するはずです。

2. 小文字から大文字へ

まず、コマンドの概要と、ツールの事前定義されたSETの使用方法を見てみましょう。

tr [OPTION]... SET1 [SET2]

SET1とSET2はそれぞれ文字のSETを表し、[]内のパラメーターはオプションであることを意味します。 tr コマンドは通常、標準入力を操作して処理された標準出力を取得するためにパイプと組み合わされます。

この場合、文字列を小文字から大文字に変換してみましょう

echo "Baeldung is in the top 10" | tr [a-z] [A-Z]

コマンドの出力は次のようになります。

BAELDUNG IS IN THE TOP 10

3. 空白をタブに変換する

tr で試すことができるもう1つのオプションは、すべての空白の出現をタブに変換し、同じ例を続けますが、この目的のために少し調整します。

echo "Baeldung is in the top 10" | tr [:space:] '\t'

そして、翻訳された文字列を取得します。

Baeldung    is    in    the    top    10

4. 文字を削除する

Linuxターミナルを使用していて、「Baeldung is in the top 10」という文字列があり、出現する文字「e」をすべて削除するとします。 これは、フレーズから -dパラメーターと削除する文字を指定することで、簡単に実行できます。

echo "Baeldung is in the top 10" | tr -d 'e'

そして私たちの結果は次のとおりです。

Baldung is in th top 10

また、複数の文字を1セットにまとめることで削除することができます。 すべての母音を削除したいとします。

echo "Baeldung is in the top 10" | tr -d 'aeiou'

出力を確認しましょう:

Bldng s n th tp 10

ここで、フレーズに表示されるすべての数字削除したいとします。 これを行うには、同じ -d パラメーターに加えて、数字セットへの参照を使用します。

echo "Baeldung is in the top 10" | tr -d [:digit:]

ここでも、コマンドの出力を確認できます。

Baeldung is in the top

5. 補完セット

trが提供する任意のセットを補完することもできます。

母音を削除する前の例を続けましょう。 母音を削除する代わりに、反対の操作、つまり補完的な操作を実行したい場合は、 -cパラメーターを追加するだけで、次のような魔法が実行されます。

echo "Baeldung is in the top 10" | tr -cd 'aeiou'

これで、出力は母音を除くすべての文字の削除になります。

aeuiieo

6. 結論

このクイックチュートリアルでは、Bashシェルでtrを使用して文字列を操作するのがいかに簡単かを見てきました。

詳細については、オンラインのtr manページを確認するか、ターミナルで mantrと入力してください。