2

Linuxコマンドを正確に模倣するperlを書く必要がありますwc(特に出力形式を含む)、機能を実現しながら、の出力wcは本当に頭痛の種です、それは常に変化しているようです、以下はいくつかの例です(スペース 文字 を表すため に□を 使用し ます)
1.⇒2.⇒3.⇒4.⇒5.⇒6.⇒7.⇒ wc test_input_1_ □□705673□□4234032□26754553□test_input_1
_wc test_input_2□14□□79□581□test_input_2
wc test_input_2 -w79□test_input_2
wc test_input_2 -wc□79□581□test_input_2
cat test_input_2 | wc□□□□□14□□□□□□79□□□□□581
cat test_input_2 | wc -w79
cat test_input_2 | wc -wc□□□□□79□□□□□581

wcが出力をフォーマットする方法を知っている人はいますか?どんな助けでもありがたいです、どうもありがとう。

4

3 に答える 3

1

皮切りに

$ info wc

情報ページには、出力形式の簡単な説明があります。それでも作業するのに十分でない場合は、coreutilsソースを入手して、 wcのソースコードを読んでください。

于 2011-04-25T13:07:00.210 に答える
1

のOpenGroup仕様はwc、正確な出力形式を指定します。フォーマット文字列にスペースがあるスペースの数は重要ではありません(ファイルフォーマット表記を参照)。

歴史的に、数字は、それらの間のスペースを除いて、7列を占めるようにフォーマットされることがよくあります(いくつかの歴史的な悪い実装では、7列にスペースが含まれ、文字数が6桁)。出力行の中には、表示されている最大数の列数に基づいてフォーマットされているように見えるものもあれば、7列を使用しているように見えるものもあります。

于 2011-04-25T13:20:51.593 に答える
1

あなたが(検索エンジンから)ここに来て、wc出力を解釈する方法がわからず、他のすべての答えがイライラしているため、デフォルトでどの番号が出力されるかを見つける場合は、実際に必要な人/情報ページやその他のリソースに移動します読んでください、ここにあなたの悲しみを思い出させるあなたの速いStackoverflowの瞬間があります:

info wc、@ converter42によって提案されているように、どこかに隠されていると説明しています。

デフォルトでは、「wc」は改行、単語、バイト数の3つのカウントを出力します。

参考までに、説明man wcの冒頭で微妙な方法で言及しています。

各FILEの改行、ワード、バイト数、および複数のFILEが指定されている場合は合計行を出力します。

例えば:

$ wc
abc def
xyz
[Ctrl+D]      2       3      12

= 2(新しい)行3ワー​​ド12バイト

于 2020-05-25T15:11:20.967 に答える