trコマンドおよびsedコマンド
5466 ワード
trコマンド
trは、文字を回転させるために使用されます.すなわち、2つの文字範囲が与えられている場合、ある文字が最初の範囲にあることを発見すると、2番目の範囲の対等な文字に変換されます.このコマンドは通常shellスクリプトで使用され、予想通りにデータを変換します.
sedコマンド
•sedコマンドは、テキスト・データ・ストリームの編集を実行するストリーム・エディタです.ファイル名を処理すると仮定すると、sedはファイル内のすべての行を検索して置き換え、変更したデータを標準出力に送信します.つまり、既存のファイルは実際には変更されません.grepと同様に、sedは通常パイプで使用されます•sedコマンドにはshellメタ文字として解釈できる文字が含まれているため、次の例に示すようにsedコマンドを参照してください.デフォルトでは、sedはファイル内のすべてのローに対して操作を実行します.sedの提供時にアドレスを付けることができます
sedコマンドに-iを付けないでファイルの内容を変更しません
trは、文字を回転させるために使用されます.すなわち、2つの文字範囲が与えられている場合、ある文字が最初の範囲にあることを発見すると、2番目の範囲の対等な文字に変換されます.このコマンドは通常shellスクリプトで使用され、予想通りにデータを変換します.
tr 'A-Z' 'a-z' <file
[root@localhost ~]# cat /aaa/file1
redhat
[root@localhost ~]# tr 'a-z' 'A-Z' < /aaa/file1 ## a-z
REDHAT
[root@localhost ~]# tr 'A-Z' 'a-z' < /aaa/file1 ## a-z
redhat
sedコマンド
•sedコマンドは、テキスト・データ・ストリームの編集を実行するストリーム・エディタです.ファイル名を処理すると仮定すると、sedはファイル内のすべての行を検索して置き換え、変更したデータを標準出力に送信します.つまり、既存のファイルは実際には変更されません.grepと同様に、sedは通常パイプで使用されます•sedコマンドにはshellメタ文字として解釈できる文字が含まれているため、次の例に示すようにsedコマンドを参照してください.デフォルトでは、sedはファイル内のすべてのローに対して操作を実行します.sedの提供時にアドレスを付けることができます
sed 's/ / /g' file ##
sed -e ' 1' -e ' 2' file ## :sed -e 's/root/'
sed '3,5s/ / /g' ##3-5
sed xd ##
sed -e xp ##
sed -n xp ##
:
sed -i file ## ,
sedコマンドに-iを付けないでファイルの内容を変更しません
[root@localhost ~]# cat /aaa/file1
test:root:sssd
TEST:sssd:root
TEST:sssd:root
sssd:test:test
root:test:sssd
root:root:sssd
[root@localhost ~]# sed 's/test/root/g' /aaa/file1 ## test root
root:root:sssd
TEST:sssd:root
TEST:sssd:root
sssd:root:root
root:root:sssd
root:root:sssd
[root@localhost ~]# sed '1,2s/sssd/root/g' /aaa/file1 ## sssd root
test:root:root
TEST:root:root
TEST:root:root
root:test:test
root:test:root
root:root:root
[root@localhost ~]# sed -e 1p -e 2p /aaa/file1 ##
test:root:root
test:root:root ##
TEST:root:root
TEST:root:root ##
TEST:root:root
root:test:test
root:test:root
root:root:root
[root@localhost ~]# sed -n 1,6p /aaa/file1 ##
test:root:root
TEST:root:root
TEST:root:root
root:test:test
root:test:root
root:root:root
[root@localhost ~]# sed -n 2,4p /aaa/file1 ##
TEST:root:root
TEST:root:root
root:test:test
[root@localhost ~]# sed -ne 2p -ne 4p /aaa/file1 ## ,
TEST:root:root
root:test:test
[root@localhost ~]# sed -e 's/root/test/g' -e 's/test/root/g' /aaa/file1 ## e
root:root:root
TEST:root:root
TEST:root:root
root:root:root
root:root:root
root:root:root
[root@localhost ~]# sed -i 's/root/test/g' /aaa/file1 ##
[root@localhost ~]# cat /aaa/file1
test:test:test
TEST:test:test
TEST:test:test
test:test:test
test:test:test
test:test:test