着信CSVファイルから行数を取得する必要があります。
次のコマンドを使用してカウントを取得しました。
wc -l filename.csv
1つのレコードが含まれているファイルを考えてみます。\*
開始時、およびこれらのファイルに対して上記のコマンドを発行すると、0
。
なぜ\*
ファイルの先頭でカウントされた行として登録されず、回避策はありますか?
終了していない行も確実にカウントされるようにするトリックは次のとおりです。
cat filename.csv | xargs -l echo | wc -l
これはすべての空でない行を数えるようですが、空の行をスキップします。
これはかなり効果がありませんが、通常の使用では問題にならないことに注意してください。
別の可能性として、終了していない最後の行を含むすべての行をカウントします。
awk '{n+=1} END {print n}' filename.csv
RHEL 6.2でテスト済み。 YMMV。
wcは、1行のみで末尾の改行がないファイルに対して0を報告します。多分あなたの1レコードのcsvファイルはこのようなものですか? hexdumpを使用して、末尾の改行を探すことができます。例:
hexdump -C fn.csv
最後にASCIIコード0aを探します。