5

現在、別のテキスト ファイルを使用して 1 つの UNIX コマンドの結果を保存し、そのファイルを使用して別のコマンドを実行しています。

tr -d "[,|.]" < text > temporary.txt
tr "[A-Z]" "[a-z]" < temporary.txt > result.txt

一時ファイルを使用する必要がないように、これら 2 つを 1 行に結合するにはどうすればよいですか? 以下は機能しません。

(tr "[A-Z]" "[a-z]" < (tr -d "[,|.]" < text)) > result.txt

&& の使い方は知っていますが、それでも一時的なホルダー ファイルを使用する必要があります。

重複の可能性: Bash: あるコマンドの各結果を別のコマンドにパイプする方法

4

2 に答える 2

7

パイプはあなたの友達です:-

cat text | tr -d "[,|.]" | tr "[A-Z]" "[a-z]" >result.txt
于 2012-08-31T01:28:04.393 に答える
2

試す:

  1. tr -d "[,|.]" < text | tr "[A-Z]" "[a-z]" > result.txt
  2. cat text | tr -d "[,|.]" | tr "[A-Z]" "[a-z]" > result.txt

どちらのコマンドも同じ働きをします。

パイプ( で指定|)が行うことは、あるコマンドの出力を別のコマンドの入力にリダイレクトするだけです。したがって、たとえば、 getsfoo | barの出力は のfoo入力にリダイレクトされますbar

于 2012-08-31T01:23:08.963 に答える