Linux trコマンド

Linux 命令大全Linuxコマンド大全

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 命令大全Linuxコマンド大全

その他の拡張