Linuxソートコマンドは、2つのテキストファイルから最後の9行と14行を除外します。

Linuxソートコマンドは、2つのテキストファイルから最後の9行と14行を除外します。

こんにちは、特別な問題があります... Linux sortコマンドを実行して2つのテキストファイル(各ファイルに3331行と4344行がある)を並べ替えると、一番上の行3317と4335のみが出力ファイルに含まれます。私が実行するコマンドは次のとおりです。

sort -o contactspreservesort.csv contactspreserve.csv
sort -o contactsdeletesort.csv contactsdelete.csv

私もこれを試しました:

sort contactspreserve.csv > contactspreservesort.csv
sort contactsdelete.csv > contactsdeletesort.csv

どんなアイデアがありますか?ありがとう

ベストアンサー1

エンドラインが欠けており、親ラインが維持されていることをどのように知ることができますか?ファイルが短いからといって最後の数行が落ちるのではなく、何かが抜けたという意味です。

wc -l だけでなく、4 つのファイルすべてに対して wc 全体を表示します。私たちは、すべての(またはほとんどの)キャラクターがそこにあることがわかります。一部のCRによって、一部の「偽」行がリンクされる可能性があります(発生してはいけませんが、すべてが発生してはいけません)。

あなたの作業ファイルの並べ替えはどこに行きますか? /tmp であったり、ほぼいっぱいになったりすることもあります。

ソートを実行した後、状態をエコーし​​ます。

どの行が欠落しているかを正確に知らせるためにawkを投稿できます。これは何が起こっているのかを説明するのに役立ちます。 (ファイルが異なるようにソートされていると、Diffは機能しません。膨大な量のレポートを受け取ります。)

たぶんいくつかの行が長すぎるかもしれません。制限は覚えていません(存在する場合)。最大行長を表示するために awk を実行することもできます。

次の質問をしてください。どのオペレーティングシステム、どのバージョン、どのマシンか。たとえば、SunOS は非常に不安定で行が長くなりました。

おすすめ記事