次の 2 つのコマンド (セット) を検討してください。
$ cat *.d | wc -l
そして
$ rm -f tmp
$ cat *.d >> tmp
$ cat tmp | wc -l
これら 2 つは同じ値を出力すると予想されます。ただし、特定のディレクトリでこれを実行すると、次のようになります。
$ cat *.d | wc -l
7026
比較すると:
$ rm -f tmp
$ cat *.d >> tmp
$ cat tmp | wc -l
295
cat
しゃれを許して頂ければ、my は自分の尻尾につまずいているように見えます。ここでは何が起こっているのでしょうか?>
の代わりにを使用すると>>
、期待される出力が得られることに注意してください7026
。
編集:
もう少し詳しく説明すると、この問題はローカルの CentOS 7 VM (Mac で実行中) で発生しています。別の VM で「同じこと」を実行しただけなのに、上記と同じ出力が得られず、両方のコマンド セットが同じ出力を返すことに注意してください。
どちらの場合も、のバージョンはcat
8.22 で、のバージョンはbash
4.2.46(2) です。