Saya harus mendapatkan hitungan garis dari file CSV yang masuk.
Saya telah menggunakan perintah berikut untuk mendapatkan hitungan.
wc -l filename.csv
Pertimbangkan file yang datang dengan 1 catatan, saya mendapatkan beberapa file dengan \*
di awal, dan untuk file-file itu jika saya mengeluarkan perintah di atas ia mengembalikan hitungan 0
.
Mengapa \*
di awal file tidak mendaftar sebagai baris yang dihitung dan apakah ada penyelesaian?
linux
microsoft-excel
command-line
unix
csv
Devoloper250
sumber
sumber
Jawaban:
Trik untuk memastikan bahwa saluran yang tidak dihentikan juga dihitung:
Ini tampaknya menghitung semua garis yang tidak kosong, tetapi melompati garis kosong.
Harap dicatat bahwa ini agak tidak efektif, tetapi itu mungkin bukan masalah untuk penggunaan sesekali.
Kemungkinan lain, menghitung semua baris termasuk baris terakhir yang tidak diakhiri:
Diuji pada RHEL 6.2. YMMV.
sumber
awk
perintah bekerja pada OS Xwc akan melaporkan 0 untuk file dengan hanya satu baris dan tanpa baris baru. Mungkin file csv satu-catatan Anda seperti ini? Anda dapat mencari trailing baris baru dengan hexdump, misalnya:
Cari kode ascii 0a di akhir.
sumber