[英]How can I count the different file types within a folder using linux terminal?
嘿,我明星如何在文件夾中遞歸計算不同數量的文件類型/擴展名。 我還需要將它們打印到.txt文件中。
例如,我有10個txt的20個.docx文件混合在多個文件夾中。
幫我 !
find ./ -type f |awk -F . '{print $NF}' | sort | awk '{count[$1]++}END{for(j in count) print j,"("count[j]" occurences)"}'
獲取所有帶有find
文件名,然后使用awk
獲取擴展名,然后再次使用awk
來計算出現次數
只需使用bash:此代碼需要版本4
#!/bin/bash
shopt -s globstar nullglob
declare -A exts
for f in * **/*; do
[[ -f $f ]] || continue # only count files
filename=${f##*/} # remove directories from pathname
ext=${filename##*.}
[[ $filename == $ext ]] && ext="no_extension"
: ${exts[$ext]=0} # initialize array element if unset
(( exts[$ext]++ ))
done
for ext in "${!exts[@]}"; do
echo "$ext ${exts[$ext]}"
done | sort -k2nr | column -t
到目前為止,這個似乎尚未解決,所以這里有多遠我計算文件並訂購它們:
find . -type f | sed -n 's/..*\.//p' | sort -f | uniq -ic
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.