Salut, je suis nouveau sous UNIX et je dois obtenir le nombre de lignes des fichiers csv entrants. J'ai utilisé la commande suivante pour obtenir le nombre.
wc -l filename.csv
Considérez les fichiers venant avec 1 enregistrement iam obtenant des fichiers avec * au début et pour ces fichiers si j'émets la même commande iam étant compté comme 0. Est-ce que * signifie quelque chose ici et si j'obtiens un fichier avec ctrlm (CR) au lieu de NL comment obtenir le nombre de lignes dans ce fichier. donne-moi une commande qui résout le problème. Merci d'avance.
La requête suivante vous aide à obtenir le nombre
cat FILE_NAME | wc -l
wc -l mytextfile
Ou pour sortir uniquement le nombre de lignes:
wc -l <monfichierfichier
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
Si vous avez plusieurs .csv
fichiers dans le même dossier, utilisez
cat *.csv | wc -l
pour obtenir le nombre total de lignes dans tous les fichiers csv
du répertoire courant. Alors, -c
compte les caractères et -m
compte les octets (identiques tant que vous utilisez ASCII). Vous pouvez également utiliser wc
pour compter le nombre de fichiers, par exemple par: ls -l | wc -l
Toutes les réponses sont fausses. Les fichiers CSV acceptent les sauts de ligne entre guillemets qui doivent toujours être considérés comme faisant partie de la même ligne. Si vous avez soit Python ou PHP sur votre machine, vous pourriez faire quelque chose comme ceci:
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";'
J'ai également créé un script pour simuler la sortie de wc -l
: https://github.com/dhulke/CSVCount