Retourner au contenu associé (entrée de forum : [Terminal] Compter le nombre de fichiers par extension dans un répertoire)
Posté par Arthur Accroc le 29 novembre 2005 à 20:08. En réponse au message [Terminal] Compter le nombre de fichiers par extension dans un répertoire. Évalué à 2.
« Le fascisme c’est la gangrène, à Washington comme en Russie. » — adapté de Renaud, Hexagone
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
# Une version avec Perl...
Posté par Arthur Accroc . En réponse au message [Terminal] Compter le nombre de fichiers par extension dans un répertoire. Évalué à 2.
find . -name '*.*' | perl -nle 's/^.*\.//; ++$n{$_}; END { foreach (sort { $n{$a} <=> $n{$b} || $a cmp $b } keys(%n)) { print "$n{$_},$_" } }' > result.txt
ou à celle de Jérôme (c'est-à-dire en affichant dans l'ordre décroissant des fréquences et avec une tabulation comme séparateur), mais en gardant l'ordre alphabétique pour les extensions ayant une même fréquence :
find . -name '*.*' | perl -nle 's/^.*\.//; ++$n{$_}; END { foreach (sort { $n{$b} <=> $n{$a} || $a cmp $b } keys(%n)) { print "$n{$_}\t$_" } }' > result.txt
ou encore une variante transformant en minuscules les extensions qui n'y sont pas :
find . -name '*.*' | perl -nle 's/^.*\.//; ++$n{lc($_)}; END { foreach (sort { $n{$b} <=> $n{$a} || $a cmp $b } keys(%n)) { print "$n{$_}\t$_" } }' > result.txt
« Le fascisme c’est la gangrène, à Washington comme en Russie. » — adapté de Renaud, Hexagone