Написах си скриптче за броене на символи в името на файлове. Е, трябваше ми 1 час да го направя да работи както трябва, но в крайна сметка го направих.
Реших, че може да му е полезно на някого. Вместо да копираш имената файл по файл и да ги пействаш в някой онлайн брояч, за половин секунда ти изкарва броя символи в имената на всички файлове в директорията. А пък ако в момента си някъде в средата на нищото и интернетът е мистерия, а ти трябва да броиш символи поради каквато и да е причина, скриптът влиза идеално.
• Скриптът:
Код за потвърждение: Избери целия код
#!/usr/bin/env bash
for name in *;
do
# Пропускаме директории
[ -f "$name" ] || continue
if [[ "$name" == *.* ]]; then
newname="${name%.*}" # премахва разширението
else
newname="$name" # няма разширение, използваме цялото име
fi
echo "$newname" > "$HOME/.cli-temp/$newname.txt"
count=$(awk '{print length}' "$HOME/.cli-temp/$newname.txt")
echo "Файлът '$name' съдържа $count символа."
done
rm $HOME/.cli-temp/*.*Втора редакция: да не би някой да си помисли, че сме му променили файловете...
• Как се ползва?
Пействате горния код в празен файл, който запазвате като whatevername.sh и го правите изпълним. Може да го обвържете и с alias за по-лесно. Създавате директория $HOME/.cli-temp. После cd до директорията, където са файловете и рънвате скрипта/alias-а.
• Пример:
Код за потвърждение: Избери целия код
[rado@arch]: /C/TORRENTS>$ countf
Файлът '8.Mile.2002.WEB-DL.1080p.OM.mkv' съдържа 27 символа.
Файлът 'Danny.Collins.2015.1080p.BluRay.DTS.x264.HDAccess.mkv' съдържа 49 символа.
Файлът 'District.9.2009.1080p.BluRay.mkv' съдържа 28 символа.
Файлът 'Independence.Day.1996.1080p.BluRay.mkv' съдържа 34 символа.
Файлът 'Independence.Day.Resurgence_2016_BDRip 1080p.mkv' съдържа 44 символа.
Файлът 'Lowriders.2016.LIMITED.1080p.BluRay.x264-SAPHiRE.mkv' съдържа 48 символа.След горния скрипт, реших да си напиша такъв и за директории. Тия квадратни скоби пак ги обърках, така че ИИ само коригира броя на скобите.
Това поне е по-лесно, защото при директориите няма разширения. Ако е директория, ще покаже броя символи, независимо колко точки и запетаи има в името ѝ.
Код за потвърждение: Избери целия код
#!/usr/bin/env bash
for name in *;
do
# Пропуска файлове, взема само директориите
[ -d "$name" ] || continue
dirname="$name"
count=${#dirname}
echo "Директорията '$dirname' съдържа $count символа."
done





