【Linux】trコマンドの使い方!小文字を大文字に変換する方法

この記事からわかること
- Linux:trコマンドとは?
- 小文字から大文字に変換する方法
- 特定の文字列を削除したり整形するには?
\ アプリをリリースしました /
trコマンドとは
Linuxのtr
コマンドは標準入力から受け取った文字列を変換したり、削除したりと整形して出力できるコマンドです。標準入力とは通常、引数で渡せる文字列などのことをさしています。>(リダイレクト)
や|(パイプ)
を使えば標準入力をファイルの中身とすることも可能です。詳細は以下の記事を参考にしてください。
trコマンドでできること
- 特定の文字を削除する
- 特定の文字を変換(置換)する
- 小文字を大文字に変換する
- 大文字を小文字に変換する
- クラスを使えば簡単に指定可能
trコマンドのフォーマット
trコマンドのオプションやクラス
tr
コマンドの引数にはクラスを指定することも可能です。クラスを使えばあらかじめ定義された型の文字列を簡単に指定することができます。
オプション | 役割 |
---|---|
-d | string1と一致する文字列を削除 |
-s | string1と一致する文字列が 連続してある場合1文字にする |
クラス | 役割 |
[:alpha:] | アルファベット |
[:alnum:] | 英数字 |
[:lower:] | 小文字 |
[:upper:] | 大文字 |
[:dligit:] | 数字 |
[:space:] | スペース |
実践的な使い方
trコマンドは
ファイルの中身に対してよく使われます。引数でのファイル指定はできないので、< (リダイレクト)
や| (パイプ)
を使ってファイルを指定します。ファイルの中身を変更する訳ではなく、中身を参照したデータを整形して出力しているだけですので注意してください。
以下のような「sample.txt」があるとして動作させてみます。
任意の文字列を削除する
スペースを削除する
連続した文字列を1文字にまとめる
小文字を大文字に変換する
大文字を小文字に変換する
大文字を小文字に変換する(クラス不使用)
trコマンド実行結果を元ファイルへ追記
trコマンド実行結果を元ファイルへ上書き
追記(>>
)はできましたがなぜか上書きは(>
)できませんでした。
< (リダイレクト)を使用してファイルを指定する
zshではクラスは使えない?
私はMac OSでzshを使ってtrコマンド
でクラスを使用してみましたが以下のようなエラーが出てしまい実行できませんでした。
起動シェルをbashに切り替えたところ実行できたのでtr
コマンドのクラスはzshに対応していないのかもしれません。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。