web-dev-qa-db-ja.com

csvファイルの行数を取得するUnixコマンド

こんにちは、私はUNIXを初めて使用するので、着信csvファイルから行数を取得する必要があります。次のコマンドを使用してカウントを取得しました。

wc -l filename.csv

最初に*が付いたいくつかのファイルを取得する1レコードのiamを含むファイルと、同じコマンドiam getting count as 0を発行した場合、それらのファイルについて考えます。 NLそのファイルの行数を取得する方法。 gimme問題を解決するコマンド。前もって感謝します。

15
Devoloper250

次のクエリは、カウントを取得するのに役立ちます

cat FILE_NAME  | wc -l
39
Sathish Kumar

wc -l mytextfile

または、行数のみを出力するには:

wc -l <​​mytextfile

Usage: wc [OPTION]... [FILE]...
or:  wc [OPTION]... --files0-from=F
Print newline, Word, and byte counts for each FILE, and a total line if
more than one FILE is specified.  With no FILE, or when FILE is -,
read standard input.
  -c, --bytes            print the byte counts
  -m, --chars            print the character counts
  -l, --lines            print the newline counts
  --files0-from=F    read input from the files specified by
                       NUL-terminated names in file F;
                       If F is - then read names from standard input
  -L, --max-line-length  print the length of the longest line
  -w, --words            print the Word counts
  --help     display this help and exit
  --version  output version information and exit
5
Dean Jain

複数の場合.csv同じフォルダー内のファイル、使用

cat *.csv | wc -l

現在のディレクトリにあるすべてのcsvファイルの合計行数を取得します。そう、 -cは文字をカウントし、-mはバイトをカウントします(ASCIIを使用している限り同じです)。 wcを使用して、ファイルの数をカウントすることもできます。沿って: ls -l | wc -l

4
dopexxx

答えはすべて間違っています。 CSVファイルでは、引用符の間に改行を入れることができますが、同じ行の一部と見なす必要があります。マシンにPythonまたはPHPのいずれかがインストールされている場合は、次のようにすることができます。

Python

//From stdin
cat *.csv | python -c "import csv; import sys; print(sum(1 for i in csv.reader(sys.stdin)))"

//From file name
python -c "import csv; print(sum(1 for i in csv.reader(open('csv.csv'))))"

[〜#〜] php [〜#〜]

//From stdin
cat *.csv | php -r 'for($i=0; fgetcsv(STDIN); $i++);echo "$i\n"

//From file name
php -r 'for($i=0, $fp=fopen("csv.csv", "r"); fgetcsv($fp); $i++);echo "$i\n";'

wc -lの出力をシミュレートするスクリプトも作成しました: https://github.com/dhulke/CSVCount