Bus errorとSegmentation faultに困ったら見るブログ

物理学者(ポスドク)による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【シェルコマンド】コマンドの出力結果を格納したい (リダイレクトのこと)

(2011/03/12 元記事)

例えば実行すると、次のような出力をするプログラムがあるとき(改行はそのまま改行を意味する)

1 2 3
4 5 6
7 8 9

これをfopenでhoge.datというファイルを新規作成して、fprintfで書き込んでfcloseするのがめんどくさいときに次のようにすることができる

 

$hoge > hoge.dat

 

これでカレントディレクトリ(現在いる場所)にhoge.datというファイルができて、中身は出力結果になっているはず

人、これをリダイレクトと言う


ここまではシェルスクリプトの勉強をしたときに、学んだんですが
さっき同期に言われて知ったことがもうひとつ

 

$hoge > /Volumes/hoge1/hoge2/hoge.dat

 

このリダイレクト機能は絶対パスで書けば、どこにでも保存できるんですね!

目から鱗でした。

 

-----

 

(追記)

 

13年前にリダイレクトのことを初めて知ったらしいです

初々しすぎるw

今では当たり前のように使っている > ですが、これはかなり便利ですよね〜〜

標準エラーとか標準出力の違いを知るのはまだまだ先になりそうです