web-dev-qa-db-ja.com

コンソール出力をファイルにリダイレクトするにはどうすればよいですか?

私はcが初めてです。一般的なコマンドライン\リンケージパラメーターを使用して、コンソールのすべての出力(printfsなど)をファイルにリダイレクトする簡単な方法はありますか(元のコードを変更する必要はありません)。

もしそうなら、手順は何ですか?

12
vondip

シェル出力リダイレクトを使用する

your-command > outputfile.txt

標準エラーは引き続きコンソールに出力されます。それが必要ない場合は、次を使用します。

your-command > outputfile.txt 2>&1

または

your-command &> outputfile.txt

また、teeユーティリティを調べて、一度に2つの場所にリダイレクトできるようにする必要もあります。

30
Hut8

Unicesでは、次のこともできます。

your-command | tee output file.txt

これにより、標準出力のハードコピーを取得しながら、出力を確認してプログラムとやり取りできるようになります(ただし、標準入力ではないため、テレタイプセッションとは異なります)。

3
Kuba Ober

上記のように、>演算子を使用して、次のようにプログラムの出力をファイルにリダイレクトできます。

./program > out_file

また、既存のファイルにデータを追加することもできます(または>>演算子を使用して、まだ存在しない場合は作成します)。

./program >> out_file

コマンドラインが提供する(素晴らしい)機能の詳細を本当に知りたい場合は、この本を読むことをお勧めします(そしてたくさんのプログラミングをすることをお勧めします:))

http://linuxcommand.org/

楽しい!

3
Andrés AG

Unixシェルでは、通常executable > file 2> &1、whchは、「標準出力をfileにリダイレクトし、エラー出力を標準出力にリダイレクトする」ことを意味します

2
gpeche