$ echo "" > /home/jem/rep_0[1-3]/logs/SystemOut.log
bash: /home/jem/rep_0[1-3]/logs/SystemOut.log: ambiguous redirect
一度に複数のファイルにリダイレクトできますか?Bashの曖昧なリダイレクト - 複数のファイルにリダイレクト
編集:あいまいなファイル参照を使用できる答えはありますか?
$ echo "" > /home/jem/rep_0[1-3]/logs/SystemOut.log
bash: /home/jem/rep_0[1-3]/logs/SystemOut.log: ambiguous redirect
一度に複数のファイルにリダイレクトできますか?Bashの曖昧なリダイレクト - 複数のファイルにリダイレクト
編集:あいまいなファイル参照を使用できる答えはありますか?
ティーが何のためにあるのかです:あなたは(上記のように)のいずれかが、リダイレクト後に一つのファイルを入れたい、または/dev/null
に標準出力を送ることができよう
command | tee file1 file2 file3 > file4
ティーも、stdoutに出力します。あなたのケースでは
:
echo "" | tee /home/jem/rep_0[1-3]/logs/SystemOut.log >/dev/null
第何回tee
を使用してはどうですか?
echo "Your text" | tee file1 | tee file2 > file3
パイプ「ティー」コマンドへの分岐にファイルとstdうちに、カスケードティーが
ありがとうございます。私は、ワイルドカードファイル参照を使用することを指定しなかった。 – Synesso
カスケードする代わりに、複数の引数を 'tee'に指定することができます。 –
コマンドあなたは標準入力から読み込み、標準出力とファイルへの書き込みtee
を使用して、これを行うことができます。 tee
もstdoutに出力するので、私はその出力を/dev/null
に送ることを選択しました。 bash展開は既存のファイルと一致するので、書き込むファイルは、このコマンドを実行する前に存在する必要があります。サイドノートとして
$ echo "" | tee /home/jem/rep_0[1-3]/logs/SystemOut.log > /dev/null
、あなたがecho
に渡す""
は冗長です。
あなたの質問に直接関係はありませんが、bash拡張に頼らない場合は、複数のパイプを持つことができます。
$ echo hello > foo > bar > baz
$ cat foo bar baz
hello
hello
hello
あなたはこれを行うことができます。
echo "" | tee /home/jem/rep_0{1..3}/logs/SystemOut.log
は、stdoutに出力を抑制し、上記のコマンドの最後にこれを追加するには:
> /dev/null
あなたの質問でecho
コマンド(空の引用符を必要としない)は単にファイルに改行を入れます。空のファイルを作成する場合は、touch
コマンドを使用します。
putsだけでなく、内容を改行で上書きします。 –
私はこの同じ質問をしていましたが、ワイルドカードを使って例を追加したかったのは、表示されていなかったからです。私はこれがあなたが探していたものだと思います:
echo "" | tee *.log
正確に私が必要とするものは、完璧です。 – PoweredByRice
ありがとう。私は、ワイルドカードファイル参照を使用することを指定しなかった。 – Synesso
Laurenceの答えを見てください。 – Robert
'tee'に複数の引数を指定できます。それを2度実行する必要はありません。 –