
.shスクリプトを見ていますが、次の行の1つが次のようになります。
tr -d '\15' < file1.txt > /testProject/files/file1.txt
これはfile1.txt > /testProject/files/file1.txt
/testProject/files/file1.txtに結果を追加することを意味しますが、これは何をしますかtr -d '\15' < file1.txt
?
\15がASCAII文字であることは知っていますが、その機能が何であるかはわかりません。
誰でも助けることができればとても感謝します。
答え1
コマンドは3つの論理部分として評価できます。
tr -d '\15'
- 実行するコマンドです。< file1.txt
– file1.txt が入力として渡されます。> /testProject/files/file1.txt
- 出力は/testProject/files/file1.txtに書き込まれます。
Pankiがコメントで述べたように、tr
マンページ必要な情報のほとんどがあります。このコマンドは、あるセットの文字を別のセットに変換するために使用されます。この-d
オプションを使用すると、文字が削除されます。
同じマニュアルページで特別に解釈されたシーケンスのリストを見ることができます。最初は\NNN
8進数を表すために使用されます。
最後の質問はどういう\15
意味ですか?printf
とコマンドを使用して表示できますod
。
$ printf '\15' | od -c
0000000 \r
0000001
したがって、このコマンドの最終的な効果は、入力ファイルから '\r'(キャリッジリターン)文字を削除することです。
コメントでSteeldriverが述べたように、これは通常Windowsスタイルの行末( '\ r \ n')からUnixスタイルの行末( '\ n')に変換するために使用されます。