OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

教えてください。

  • すぐに回答を!
  • 質問No.164590
  • 閲覧数81
  • ありがとう数7
  • 気になる数0
  • 回答数5
  • コメント数0

お礼率 16% (11/68)

(ls a b c no-file > /dev/null) >& some_out
では、何が行われてるんでしょうか?教えてください。
また、PCとWSの改行コードの差を確認するにはどうすればいいのでしょうか?
通報する
  • 回答数5
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全5件)

  • 回答No.1

ls a b c no-file ・・・a,b,c,no-fileディレクトリの中身を表示する > /dev/null   ・・・結果を画面表示しない >& some_out   ・・・結果をsome_outというファイルに出力 だと思うのですが。 そうすると、some_outにはなにも出力されないような・・・。 実際、実行したら、0バイトのファイルができました。 間違 ...続きを読む
ls a b c no-file ・・・a,b,c,no-fileディレクトリの中身を表示する
> /dev/null   ・・・結果を画面表示しない
>& some_out   ・・・結果をsome_outというファイルに出力

だと思うのですが。
そうすると、some_outにはなにも出力されないような・・・。
実際、実行したら、0バイトのファイルができました。
間違ってたらすみません。
お礼コメント
janne

お礼率 16% (11/68)

ありがとうございます。
自分の場合、実行してmuleで中身を見たら
ls: a: ファイルもディレクトリもありません。
ls: b: ファイルもディレクトリもありません。
ls: c: ファイルもディレクトリもありません。
ls: no-file: ファイルもディレクトリもありません。
この様に出てきました。う~ん。。。
投稿日時 - 2001-11-07 15:48:44
  • 回答No.2
レベル9

ベストアンサー率 36% (37/102)

答えは ls a b c no-file のエラー出力のみを some_out に出力する。 ですね。 おまけ ls の場合のエラーってファイルがないときとパーミッションがないときでしたっけ?? そのコマンドの目的が何かわからないのですが、 他の実装方法があるような気がします。
答えは
ls a b c no-file のエラー出力のみを some_out に出力する。
ですね。

おまけ
ls の場合のエラーってファイルがないときとパーミッションがないときでしたっけ??
そのコマンドの目的が何かわからないのですが、
他の実装方法があるような気がします。
  • 回答No.3
レベル11

ベストアンサー率 60% (182/303)

例題として、以下のコマンド % (ls dir_a > std_out) >& std_err は、「ディレクトリdir_aの中身を表示させたときの標準出力をファイルstd_outに出力し、バックグラウンドで標準エラー出力をファイルstd_errに出力する」という意味になります。 また、"/dev/null"は、ごみ箱に相当するものです。したがって、標準出力に ...続きを読む
例題として、以下のコマンド
% (ls dir_a > std_out) >& std_err
は、「ディレクトリdir_aの中身を表示させたときの標準出力をファイルstd_outに出力し、バックグラウンドで標準エラー出力をファイルstd_errに出力する」という意味になります。
また、"/dev/null"は、ごみ箱に相当するものです。したがって、標準出力には何も出力しません。

結論として、質問にあるコマンドは「ディレクトリa、b、c、no-fileの中身をそれぞれリスト表示したときの標準エラー出力を、ファイルsome_outにバックグラウンドで出力する。このとき、標準出力は画面に表示しない。」という意味だと思います。
#要するに、ファイルの中身を表示させたときの標準エラー出力がないかをチェックするためのコマンドでしょう。

また、改行コードの判別法についてですが、WS上にファイルがある場合は、ファイルをviコマンドで開き、行の末尾に ^M が表示されていたら、SJISのファイルです。
改行コードは、SJISではCR+LF、EUCではLFとなります。
#PC上にファイルがあった場合は、バイナリエディタを使用すれば確実に判別できます。
  • 回答No.4
レベル9

ベストアンサー率 53% (52/98)

"> /dev/null" は コマンドが吐き出す標準出力を捨ててしまう時に使用します。 ので、この場合、ls a b c no-file の標準出力はのこりません。 ls コマンドは、引数で指定したファイルが存在しない場合に、 $ ls ファイル名1 ファイル名2 ←存在しないファイル名 ls: ファイル名1: no such file or directory. ...続きを読む
"> /dev/null" は コマンドが吐き出す標準出力を捨ててしまう時に使用します。
ので、この場合、ls a b c no-file の標準出力はのこりません。
ls コマンドは、引数で指定したファイルが存在しない場合に、

$ ls ファイル名1 ファイル名2 ←存在しないファイル名
ls: ファイル名1: no such file or directory.
ls: ファイル名2: no such file or directory.

のようにメッセージを標準エラー出力に出しますから、この場合はエラーメッセージ(存在しないファイル名の入ったエラーメッセージのリスト?)をsome_out に取り出しているのだと思います。

これが何をしているのか、ときかれると、答えは分からないのですが...。

改行コードについては、
UNIX 系 LF DOS(Windows)系 CR + LF Macintosh CR
の違いがあります。
それぞれに変換してくれるソフトもあります。
Windows なら秀丸エディタにもあるそうです。

確認したいのであれば、それそれのOS の標準のエディタで読み込んでみれば、
見た目で見当はつくと思います。
つかない(自動判定してくれる)のもありますけど。
OS によってそれぞれ方法がちがうので、確実な方法はないかもしれません。

DOS系→UNIX系
改行→^M
次の行^M
その次の行^M

UNIX系→DOS系(Mac系→UNIX系も同様)
改行→(記号のような文字化け)次の行(文字化け)その次の行

Mac系→UNIX系、またはDOS系
改行→
   次の行→
       その次の行

以上、回答になってなくてすいません。
  • 回答No.5
レベル13

ベストアンサー率 24% (357/1463)

質問の前半については皆さんの答えられている通り。 後半については、確かにエディタで開いてみて分かる場合もありますが、 LINUX上のvi等自動認識してしまうようなものもありますので、 UNIX上でのことのようですから、ダンプしてしまいましょう。 例えば Hello とだけ書かれたファイル(ファイル名file)があったとします。 % od -c file とコマンド入力します。 UNIX形 ...続きを読む
質問の前半については皆さんの答えられている通り。
後半については、確かにエディタで開いてみて分かる場合もありますが、
LINUX上のvi等自動認識してしまうようなものもありますので、
UNIX上でのことのようですから、ダンプしてしまいましょう。
例えば
Hello
とだけ書かれたファイル(ファイル名file)があったとします。
% od -c file
とコマンド入力します。
UNIX形式なら
00000000 H e l l o \n
DOS形式なら
00000000 H e l l o \r \n
と表示されます。(このサイトの表示は空白がつまってしまいますが)
なお、改行コードの違いはテキストファイルの形式の違いによるもので、
日本語コードの違いによるものではありません。
その点で、finalanswerさんの回答は不正確だと思います。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ