68user's page 掲示板

Prev< No. 4938〜4951> Next  [最新発言に戻る] [過去ログ一覧]
No. 4941 # べた 2008/08/26 (火) 22:00:32
>> 4935
>> 4936

返事が遅くなってすみません。

分かり易く説明ありがとうございます。
勉強になります。

No. 4942 # べた 2008/10/08 (水) 20:36:52
Cシェルでのリダイレクションについてなのですが

コマンドの実行結果で、標準エラー出力を捨てて、標準出力
だけを見たいのですがどうすればよいのですか。

cat file.txt >& /dev/null
では、標準出力、標準エラー共に捨てられますが、
標準エラーを捨てて、標準出力を表示したい。

cat file.txt 2 >& /dev/null
cat file.txt >2& /dev/null
cat file.txt >& 2 /dev/null
cat file.txt > /dev/tty >2 /dev/null
cat file.txt > /dev/tty >& /dev/null

とやってみたのですが、どれも上手くいきません。

どうすればよいのでしょうか。

環境は、
Solaris8 Cシェル
です。

No. 4943 # 68user 2008/10/08 (水) 22:16:55
>>4942 べた
tty 宛でよいなら、サブシェルを使って
    ( cat file.txt > /dev/tty ) >& /dev/null
です。

No. 4944 # べた 2008/10/09 (木) 20:49:11
>> 4944

ありがとうございます。

> tty 宛でよいなら、サブシェルを使って
> ( cat file.txt > /dev/tty ) >& /dev/null
> です。
出来ました。

tty 宛でよいなら、サブシェルを使って
tty を使わない方法もあるのですか。あるのでした教えてください。
サブシェルとは。
「( command )」とはどのよな使い方でしょうか。

良い案が思い浮かばなかったので、「cat file.txt > /dev/tty」で
表示ができたので、 /dev/tty を使えば上手くできるのではないかと。

No. 4945 # 68user 2008/10/10 (金) 10:06:19
>>4944 べた
tty を使わないなら、
    ( cat file.txt > out.txt ) >& /dev/null
などとファイルに保存する。

あるいは mknod や mkfifo で名前付きパイプを作ってそこに
流すなど (さすがに標準エラー出力を捨てるためにここまで
やるのはバカバカしいですが)。
    mkfifo out
    cat out &
    ( cat file.txt > out ) >& /dev/null

あるいは
    sh -c "ls cat file.txt 2>/dev/null"
などと sh で逃げる手もあります。

csh でやるなら、これ以外の方法はおそらくないです。

> サブシェルとは。
> 「( command )」とはどのよな使い方でしょうか。
こちらをどうぞ。
    http://x68000.q-e-d.net/~68user/unix/pickup?%A5%B5%A5%D6%A5%B7%A5%A7%A5%EB

No. 4946 # べた 2008/10/10 (金) 20:24:28
>> 4945

ご説明ありがとうございます。

Windows XPの別端末で書き込みをしたら
「エラー : 内部エラーが起こりました。」
の画面が表示されました。
何かあるのでしょうか。

No. 4947 # 素人 2008/12/11 (木) 14:52:56
こんにちは.linuxを使い始めたものです.
パイプに関する質問です.環境はVine Linux のbashです.

あるファイル名(ここではtestfile)のものを検索して,
さらにその中身に"test"という文字列を含むかどうかを
知りたいと思っています.
対象のファイルがひとつとは限りません.例えば,
...........
../Data1/testfile ⇒(中身)This is test file.
...........
../Data2/testfile ⇒ (中身) This is hoge hoge.
といった感じで同じ名前のファイルが別のディレクトリにあります.

cat,find, grepを組み合わせれば出来そうな気はしているのですが,
findしてリスト表示されたファイル名を引数としてcatコマンドに
渡すことができません.

自分なりにいろいろ検索しましたが,よくわかりませんでした..
よろしくご教授ください.

No. 4948 # 68user 2008/12/11 (木) 17:17:18
>>4947 素人
親ディレクトリ以下の testfile というファイル名のファイル中に
test という文字列があるものをリストアップ、であれば
    % find ../ -name testfile | xargs grep -l test
でしょうか。それを cat するなら
    % find ../ -name testfile | xargs grep -l test | xargs cat
ですかね。

No. 4949 # 素人 2008/12/11 (木) 18:35:48
>>4948 68user
できました!答えはxargsでしたか.
勉強不足で恐縮です.ありがとうございました.

No. 4950 # 佐藤丈師 [E-mail] 2008/12/12 (金) 17:03:36
RSA1のプログラムを実行するにあったってエラーが多くでます。これのヘッダファイルはどこにあるのでしょうか。

No. 4951 # 68user 2008/12/23 (火) 17:49:12
>>4950 佐藤丈師
OpenSSL に同梱されていますので、OpenSSL をインストール済みであれば
/usr/include/openssl や /usr/local/openssl/include などにあるはずです。
コンパイル時に -I /usr/include/openssl などのオプションを付加してください。

Prev< No. 4938〜4951> Next  [最新発言に戻る] [過去ログ一覧]