51 votes

Compter le nombre total de fichiers dans un répertoire particulier avec une extension spécifique

Je veux compter le nombre total de fichiers dans un répertoire particulier qui se termine par l'extension ".mp4".

J'obtiens la commande suivante :

ls -F |grep -v / | wc -l

Il compte tous les fichiers dans un répertoire particulier, mais je veux compter les fichiers qui se terminent par l'extension .mp4.

Existe-t-il une commande Ubuntu pour cela ?

2voto

Sergiy Kolodyazhnyy Points 97292

En bash, on peut utiliser des tableaux avec glob :

$ files=( *.mp4  )
$ echo ${#files[@]}
30

2voto

Trevor Rowe Points 21

Vous pouvez toujours utiliser un boucle for, ce qui, à mon avis, présente l'avantage de ne pas vous obliger à vous souvenir des drapeaux de plusieurs commandes différentes.

Par exemple :

a=0; for i in ./*.jpg; do a=$(expr  $a + 1); done; echo $a

1voto

NG. Points 12989

Cela devrait vous donner la liste des fichiers avec .mp4

ls /path/to/directory | grep ".mp4$"

Lorsqu'il est combiné avec wc -l vous donnera le compte

ls /path/to/directory | grep ".mp4$" | wc -l

si vous voulez que la recherche inclue les sous-répertoires

ls -lR /path/to/directory | grep ".mp4$" | wc -l

1voto

Mohsin Raza Points 11
ls | grep --count \.csv$

Remplacer (.csv avec l'extension souhaitée)

Explication : Je pense qu'une solution simple consiste à récupérer la liste des fichiers et à compter les extensions à l'aide de grep. \. pour correspondre . y $ pour correspondre à l'extension en fin de ligne. Cela fonctionne parce que lorsque la sortie de ls est acheminée, un nom de fichier est envoyé par ligne, ce que vous pouvez vérifier en exécutant :

ls | cat

1voto

Dilip Rajkumar Points 307

Vérifier Comment compter les fichiers par extension dans Linux ? Il donne une bonne réponse et une bonne explication, vous pouvez utiliser la commande suivante :

find . -type f | sed -n 's/..*\.//p' | sort | uniq -c

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X