「head」は1行だけ印刷しますか?

「head」は1行だけ印刷しますか?

ExcelでCSVとして保存して作成されたCSVファイルがあります。 「head」(または実際には「grep」など)を実行すると、最初の行だけが印刷されます。

head -n 10 messy.csv
10,15,11,21

ただし、テキストエディタまたはExcelでファイルを開くと、次のような行がたくさん含まれています。

10,15,11,21
9,11,17,19
7,11,24,18
... 

headコンピュータの他のファイルでうまく動作します。

なぜこれですか? (これは行末と関係があると思いますが、何がわかりません。)どのように修正しますか?

ベストアンサー1

私はこれが行末に関連していると思います。 Excelはキャリッジリターン/改行の末尾にファイルを保存しますが、head改行のみが必要です。

表示される出力は次のとおりです。 tr -d '\r' < messy.csv | head -10

10行が正しく表示されたら、それは正解です。

file一部のテキストファイルの行末を知らせることができます(印刷されます)。...、CRLF行終端を含む)、しかし、すべてのテキストファイルに対してこれを行うわけではありません(そのファイルをHTMLなどの他のものとして認識している場合は、これをしないと思います)。

おすすめ記事