Bei der Programmierung und Computerarbeit gibt es viele Situationen, in denen CSV-Format-Dateien behandelt werden. Dieser Artikel verwendet die “csvlint”-Bibliothek, um Syntaxprüfungen, Grammatikprüfungen, d.h. Fehlerprüfungen auf CSV-Daten durchzuführen und deren Gültigkeit effizient zu überprüfen.
# installieren
[[ ! -d "${HOME}/go" ]] && mkdir ${HOME}/go
export GOPATH=${HOME}/go
export PATH=$PATH:$GOPATH/bin
go get github.com/Clever/csvlint/cmd/csvlint

Clever/csvlint: library and command line tool that validates a CSV file
Wenn es Fehler gibt, wird es einen Fehler geben
$ csvlint hoge.csv
Record #44 has error: wrong number of fields in line
Record #53 has error: wrong number of fields in line
Für tabulatorgetrennte TSV, Optionen angeben
$ csvlint -delimiter "\t" hoge.csv
Warning: not using defaults, may not validate CSV to RFC 4180
Record #23 has error: wrong number of fields in line
Es scheint, dass man Daten nicht wie folgt übergeben kann.
yuis ASUS /mnt/c/_tmp/20190708221315$ csvlint - <<< "$( data-music-csv )"
file '-' does not exist
Daher, um Befehlsausgabe zu übergeben, tun Sie wie folgt.
$ data-music-csv > $TMPDIR/tmp.csv && csvlint -delimiter "\t" $TMPDIR/tmp.csv
Warning: not using defaults, may not validate CSV to RFC 4180
file is valid