Unixパイプの創設者であり、Unixの伝統の創設者の一人であるDoug McIlroyは、当時、次のように述べています[McIlroy78]。
(ii) 各プログラムの出力は、未知の他のプログラムの入力になると予想される。不要な情報で出力を複雑にしないでください。厳密な列形式またはバイナリ入力形式を避けてください。インタラクティブな入力にこだわらないでください。
厳密に言えば、柱状のデータは私によく聞こえるので、彼が何を意味するのか理解できないかもしれません。
これは何を意味し、なぜ悪いのですか?
ベストアンサー1
私の考えでは、その人が言うと思います。調整通常の列データではなく列。これが私の理解です厳しくそれでも。たとえば、
悪い:
1 200 3
100 3 400
いいね:
1 200 3
100 3 400
つまり、人よりもコンピュータが読みやすいファイルを作成します。アイテムを並べ替えるためにスペースを追加すると、わかりやすく、わかりやすくなりますが、解析が必要なプログラムでは混乱を招く可能性があります。
cut
たとえば、上記の各例の2番目のフィールドを取得するために、最初のフィールドは失敗します。
$ cut -d' ' -f 2 bad
$ cut -d' ' -f 2 good
200
3
bad
ファイルの 2 番目のフィールドは、余分なスペースがあるためスペースです。ただし、ドキュメントで期待どおりに機能しますgood
。