Post #2733896
2026-05-13 08:18 UTC
@revan@shitpost.poridge.club
find . -type f \( \
-iname "*.mp3" -o \
-iname "*.flac" -o \
-iname "*.m4a" -o \
-iname "*.aac" -o \
-iname "*.ogg" -o \
-iname "*.opus" -o \
-iname "*.wav" \
\) -print0 | while IFS= read -r -d '' file; do
ffprobe -v error \
-select_streams a:0 \
-show_entries stream=codec_name,bit_rate,sample_rate,bits_per_raw_sample \
-of default=noprint_wrappers=1:nokey=0 \
"$file" | awk '
BEGIN {
codec="unknown"
bitrate=""
rate=""
bits=""
}
/^codec_name=/ {
codec=substr($0, index($0, "=")+1)
}
/^bit_rate=/ {
br=substr($0, index($0, "=")+1)
if (br > 0)
bitrate=int(br/1000) "kbps"
}
/^sample_rate=/ {
rate=substr($0, index($0, "=")+1) "Hz"
}
/^bits_per_raw_sample=/ {
b=substr($0, index($0, "=")+1)
if (b > 0)
bits=b "bit"
}
END {
if (codec == "flac" || codec == "wav") {
print codec " " bits "/" rate
} else {
print codec " " bitrate
}
}
'
done | sort | uniq -c | awk '{count=$1; $1=""; print substr($0,2) " - " count}'Просто попросил чатжопатэ сделать мне это одной командой
Replies (0)
No replies.