WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:UNIXコマンドqkcのログは?

0:[投稿] かな [2002/09/30 19:05 ][環境:WIN+IE UNIX系+Perl]

ここで質問していいものかと思ったのですが、よろしくお願いします。
UNIX上で、ファイルの文字・改行コードを変換するコマンドのqkcで、実行した際に出る
「Converted〜」
という出力を、ログに残しておきたいと思っています。
単純に
「qkc -eu a.txt > log」
と実行した場合、標準出力に「Converted〜」と出力されてしまい、また、a.txtはEUCに変換されず、変換された結果がlogに残ってしまってしまいます。
何かログ用のオプションなどがあるのでしょうか?


1:[回答] ... [2002/09/30 21:06 ]

qkc -eu a.txt 2>&1 log


2:[回答] 29歳からのPerl [2002/10/01 00:34 ]

付録(暇な場合にお読み下さい)
お世話になってたコマンドなのですが、

qkc -eu a.txt
だけで(!)、a.txtが変更されるはず・・・。
qkc -eu a.txt >log
にするとa.txtは変更なしだったはず・・・。

「Converted〜」は、標準エラー出力にでます。
$ qkc -eu a.txt>&1 1>~/.ごみ箱
でエラー出力だけもらうこともできます(たぶん)。

作者のHPがあり、ソースが読めます(ました)。


3:[回答] Mr.X [2002/10/01 01:31 ]

「Converted〜」が標準エラー出力に出力されるのは正しいですが、
それをリダイレクトする方法は2人とも間違ってます。
標準エラー出力だけをファイルにリダイレクトするなら
qkc -eu a.txt 2> log

「2>&1」は標準エラー出力を標準出力に出力する書式です。
ちなみにその状態で標準出力をファイルにリダイレクトすると
標準出力と標準エラー出力を一緒のファイルに書き出せたりします。

「1>file」は普通の「>file」と同じです。
「>&1」は標準出力の出力先を標準出力に変える、つまり変わらないです。


4:[回答] Mr.X [2002/10/01 01:52 ]

補足。
「2>」は csh 系 (csh, tcch) では使えません。
csh 系でなければどれでも (sh, bash, ksh, zsh) 使えたはず。


5:[回答] ... [2002/10/01 11:22 ]

誤:qkc -eu a.txt 2>&1 log
正:qkc -eu a.txt 2>&1> log

と書いたつもりでした(^^;
ご指摘ありがとうございます。


6:[完了] かな [2002/10/02 11:12 ]

みなさん、ご回答ありがとうございます。

しかし私の環境ではtcshが使われているため、ご回答いただいた方法では実行出来ませんでした。
少し調べたところ、csh系では
( qkc -eu a.txt > /dev/tty ) > & log
と実行することでログが取れました。

標準エラー出力のことなど大変参考になりました。
ありがとうございました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World