yuu_nkjm blog


2011-02-07(Mon) [長年日記]

[bash][Linux][bat][Windows] リダイレクトいろいろ

標準エラー出力のみをパイプに出力する

command 2>&1 >/dev/null | command2

ちなみに,Windowsでは/dev/nullはnulが相当する.

command 2>&1 >nul | command2

「標準出力 → ファイル,標準エラー → 画面,ファイル」に出力する.「とあるプログラムの標準出力が膨大であり,画面には出したくないがファイルに保存はしたい.標準エラーは大事なので,画面にもファイルにも出力したい」という状況なので,こんなことがしたい.

基本的にリダイレクトを頑張りつつ,teeコマンドに流し込む作戦.

command 3>&1 1>&2 2>&3|tee hoge.log
 
1(commandの標準出力の中身)→標準エラー出力
2(commandの標準エラーの中身)→標準出力(パイプに渡される.teeにより画面とファイルに出力される)
3(空)→標準出力

teeの-aオプションを使ってもいけるか.

command 2>&1 1>hoge.log|tee -a hoge.log
 
1(commandの標準出力の中身)→hoge.log
2(commandの標準エラーの中身)→標準出力(パイプに渡される.teeにより画面に出力され,-aオプションによりファイルに追記される)

参考ページ

  • UNIXの部屋 コマンド検索:リダイレクト (*BSD/Linux) Linuxのリダイレクトについてはここが定番だと思ってます.他のトピックも素晴らしいです.
  • 本日のリンク元
    その他のリンク元
    検索

    トップ «前の日記(2011-02-06(Sun)) 最新 次の日記(2011-02-10(Thu))» 月表示 編集 設定
    2006|01|06|12|
    2007|06|09|
    2008|01|03|04|06|07|08|09|10|12|
    2009|01|02|05|06|07|08|10|11|12|
    2010|03|04|05|06|07|08|09|10|11|
    2011|01|02|03|04|05|06|07|08|09|11|12|
    2012|01|02|04|06|07|08|10|11|12|
    2013|01|02|03|07|08|10|11|12|
    2014|01|02|04|05|06|07|08|09|10|11|
    2015|01|02|07|11|12|
    2016|01|03|05|07|08|09|