0

yesこれは非常に単純な質問かもしれませんが、コマンド、nl、および をhead個別に理解していますが、ここで何が起こっているのか正確にはわかりません。

yes | nl | head -1000 > data1.txt     

yパイプがこれらすべてを介して相互作用して、それぞれの隣にある異なる行に1〜1000の数字を持つデータファイルを作成する方法がわかりません:

 1  y
 2  y
 3  y
 4  y
 5  y
 6  y
 7  y
 8  y
 9  y
10  y
11  y
12  y
13  y
14  y
15  y
16  y
17  y
18  y
19  y
20  y
21  y
22  y
23  y
24  y

など 1000まで

どんな説明でも大歓迎です。

4

2 に答える 2

2

|パイプに使用されます。つまり、複数のプロセス間の通信に使用されます。簡単に言えば、あるプロセスの出力を別のプロセスの入力に渡すことができます。

「はい」のマニュアルページには次のように書かれています:

"Repeatedly output a line with all specified STRING(s), or `y'."

STRING(S) を渡していないため、「y」を出力し、それを「nl」に渡します。これにより、すべての行に番号が与えられます。「nl」のマニュアルページには次のように書かれています:

"Write each FILE to standard output, with line numbers added.  With no FILE,
 or when FILE is -, read standard input."

後でhead -1000出力を 1000 行に制限し、>出力を data.txt に書き込みます。これが明確になることを願っています。

于 2013-07-09T06:41:39.447 に答える