(単語数)コマンドに関してwc
...次の内容を理解しようとしています(man wc
以下で引用し、質問の最後に長い引用を追加しました)。
FILE がない場合、または FILE が - の場合、標準入力を読み込みます。
これは正確にどのように機能しますか? 「標準入力」はいつ入力しますか?
オンラインで説明を見つけることは非常に混乱しています。おそらく、stdin
それが正確に何であるかに関するいくつかの基本情報がありません。
~からman wc
SYNOPSIS
wc [OPTION]... [FILE]... wc [OPTION]... --files0-from=F
DESCRIPTION
Print newline, word, and byte counts for each FILE, and a total
line if more than one FILE is specified. A word is a
non-zero-length sequence of characters delimited by white space.
With no FILE, or when FILE is -, read standard input.
答え1
wc
-
、このプログラムは、コマンドラインにファイル名がゼロまたは " "のみがある場合を検出します。
wc
wc -
そしてこのような場合にはSTDIN
-(プロセスのストリーム 0) から読み込みます。 「stdinに入力」する必要はありません。
プロセスを作成したプロセスである「親プロセス」は、3つのI/Oストリームの設定を担当します。
0 STDIN - program input
1 STDOUT - normal program output
2 STDERR - error program output
STDIN
必要に応じてプログラムから読みます。
wc
標準入力ストリームで読み取りを使用する例:
$ echo 'hello world' | wc
1 2 12
ここでは、wc
標準入力ストリームに到達した行、単語、および文字数が計算されます。このストリームは、echo
シェルを介してコマンドの標準出力ストリームにパイプされます。このecho
コマンドは文字列をhello world
標準出力ストリームに送信し、wc
それを受け取ります。
答え2
ctrl+d
私の問題は、「終了ターミナル行の入力」(入力テキストを入力した後)を使用することに慣れていないことです。
私はこれがコマンドラインの使用の基本だと思います。しかし、マニュアルページを読んで、wcコマンドを広く使用する方法を検索しても、それはわかりません。
他の混乱した初心者のためのステップは次のとおりです。
端末を入力しwc -
てをクリックしますENTER
。
これで入力を開始できます。
完了したら、[次へ]を押します。ctrl+d