Linux trコマンド
Linux tr コマンドは、ファイル内の文字を変換または削除するために使用されます。
tr コマンドは標準入力デバイスからデータを読み取り、文字列を変換した後、結果を標準出力デバイスに出力します。
構文
tr [-cdst][--help][--version][第一字符集][第二字符集] tr [OPTION]…SET1[SET2]
パラメータの説明:
- -c, --complement:設定文字を反転します。つまり、SET1 に一致する部分は処理されず、一致しない残りの部分が変換されます
- -d, --delete:指定した文字を削除します
- -s, --squeeze-repeats:連続して繰り返される文字を、指定した単一の文字に縮小します
- -t, --truncate-set1:SET1 の指定範囲を削減し、SET2 の設定長と等しくします
- --help:プログラムの使用方法を表示します
- --version:プログラム自体のバージョン情報を表示します
文字集合の範囲:
- \NNN 8進数値の文字 NNN (1 から 3 は 8進数値の文字)
- \\ バックスラッシュ
- \a Ctrl-G ベル
- \b Ctrl-H バックスペース
- \f Ctrl-L 改ページ
- \n Ctrl-J 改行
- \r Ctrl-M キャリッジリターン
- \t Ctrl-I タブキー
- \v Ctrl-X 水平タブ
- CHAR1-CHAR2 :文字範囲を CHAR1 から CHAR2 まで指定します。範囲の指定は ASCII コードの順序に基づき、小さいものから大きいものへのみ指定でき、大きいものから小さいものへは指定できません。
- [CHAR*] :これは SET2 専用の設定で、指定した文字を SET1 と同じ長さになるまで繰り返します
- [CHAR*REPEAT] :これも SET2 専用の設定で、指定した文字を設定した REPEAT 回数まで繰り返します(REPEAT の数値は 8 進数で計算され、0 で始まります)
- [:alnum:] :すべての英字と数字
- [:alpha:] :すべての英字
- [:blank:] :すべての水平スペース
- [:cntrl:] :すべての制御文字
- [:digit:] :すべての数字
- [:graph:] :すべての印字可能な文字(スペース文字を含まない)
- [:lower:] :すべての小文字
- [:print:] :すべての印字可能な文字(スペース文字を含む)
- [:punct:] :すべての区切り文字
- [:space:] :すべての水平および垂直スペース文字
- [:upper:] :すべての大文字
- [:xdigit:] :すべての 16 進数の数字
- [=CHAR=] :指定した文字に一致するすべての文字(等号内の CHAR は、ユーザーがカスタマイズできる文字を表します)
例
ファイル testfile 内の小文字をすべて大文字に変換する場合、次のコマンドを使用できます:
cat testfile |tr a-z A-Z
testfile ファイルの内容は次のとおりです:
$ cat testfile #testfile原来的内容 Linux networks are becoming more and more common, but scurity is often an overlooked issue. Unfortunately, in today’s environment all networks are potential hacker targets, fro0m tp-secret military research networks to small home LANs. Linux Network Securty focuses on securing Linux in a networked environment, where the security of the entire network needs to be considered rather than just isolated machines. It uses a mix of theory and practicl techniques to teach administrators how to install and use security applications, as well as how the applcations work and why they are necesary.
tr コマンドで大文字小文字の変換を行った後、次の出力結果が得られます:
$ cat testfile | tr a-z A-Z #转换后的输出 LINUX NETWORKS ARE BECOMING MORE AND MORE COMMON, BUT SCURITY IS OFTEN AN OVERLOOKED ISSUE. UNFORTUNATELY, IN TODAY’S ENVIRONMENT ALL NETWORKS ARE POTENTIAL HACKER TARGETS, FROM TP-SECRET MILITARY RESEARCH NETWORKS TO SMALL HOME LANS. LINUX NETWORK SECURTY FOCUSES ON SECURING LINUX IN A NETWORKED ENVIRONMENT, WHERE THE SECURITY OF THE ENTIRE NETWORK NEEDS TO BE CONSIDERED RATHER THAN JUST ISOLATED MACHINES. IT USES A MIX OF THEORY AND PRACTICL TECHNIQUES TO TEACH ADMINISTRATORS HOW TO INSTALL AND USE SECURITY APPLICATIONS, AS WELL AS HOW THE APPLCATIONS WORK AND WHY THEY ARE NECESARY.
大文字小文字の変換は、[:lower][:upper] パラメータを使用しても実現できます。例えば、次のコマンドを使用します:
cat testfile |tr [:lower:] [:upper:]
出力結果は次のとおりです:
$ cat testfile | tr [:lower:] [:upper:] #转换后的输出 LINUX NETWORKS ARE BECOMING MORE AND MORE COMMON, BUT SCURITY IS OFTEN AN OVERLOOKED ISSUE. UNFORTUNATELY, IN TODAY’S ENVIRONMENT ALL NETWORKS ARE POTENTIAL HACKER TARGETS, FROM TP-SECRET MILITARY RESEARCH NETWORKS TO SMALL HOME LANS. LINUX NETWORK SECURTY FOCUSES ON SECURING LINUX IN A NETWORKED ENVIRONMENT, WHERE THE SECURITY OF THE ENTIRE NETWORK NEEDS TO BE CONSIDERED RATHER THAN JUST ISOLATED MACHINES. IT USES A MIX OF THEORY AND PRACTICL TECHNIQUES TO TEACH ADMINISTRATORS HOW TO INSTALL AND USE SECURITY APPLICATIONS, AS WELL AS HOW THE APPLCATIONS WORK AND WHY THEY ARE NECESARY.その他の拡張
Linuxコマンド大全