Здравейте! Вероятно използвате блокиращ рекламите софтуер. В това няма нищо нередно, много хора го правят.

     Но за да помогнете този сайт да съществува и за да имате достъп до цялото съдържание, моля, изключете блокирането на рекламите.

  Ако не знаете как, кликнете тук

Скриптче за броене на символи в името на файлове

feed Всичко свързано с Линукс. Новини, проблеми, въпроси.
Десктоп Линукс дистибуции, сървърни Линукс дистрибуции, Линукс дистрибуции с общо предназначение, Linux Mint, Ubuntu, Arch Linux, Mandriva, PCLinuxOS, openSUSE, Fedora, Red Hat Enterprise Linux, CentOS, Suse Linux Enterprise Server, Debian, Cross Linux from Scratch, Slackware, Gentoo. Графични среди, новини, игри, драйвъри, въпроси, десктоп, сървър, браузъри, помощ.
Аватар
Валсо
Дарител
Дарител
Мнения: 13674
Регистриран на: Нед Мар 03, 2019 20:29
Репутация: 48327
пол: Мъж
Местоположение: ~/$USER
Обратна връзка:

Скриптче за броене на символи в името на файлове

Мнение от Валсо »

Написах си скриптче за броене на символи в името на файлове. Е, трябваше ми 1 час да го направя да работи както трябва, но в крайна сметка го направих. :mrgreen:
Реших, че може да му е полезно на някого. Вместо да копираш имената файл по файл и да ги пействаш в някой онлайн брояч, за половин секунда ти изкарва броя символи в имената на всички файлове в директорията. А пък ако в момента си някъде в средата на нищото и интернетът е мистерия, а ти трябва да броиш символи поради каквато и да е причина, скриптът влиза идеално.

• Скриптът:

Код за потвърждение: Избери целия код

#!/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/*.*
Добавих логика за файлове без разширение. Аз я започнах, а AI я коригира, защото бях объркал броя квадратни скоби. :lol:
Втора редакция: да не би някой да си помисли, че сме му променили файловете... :lol:

• Как се ползва?
Пействате горния код в празен файл, който запазвате като 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 символа.
Първоначално се опитах да го направя с команда директно в терминала, но ако в името на файла има скоби или други специални символи, задачата се чупи и затова със скрипт беше единственият начин.
Последно промяна от Валсо на Съб Окт 25, 2025 09:13, променено общо 2 пъти.
Прочетено: 456 пъти
https://t.me/linuxtalkbg
Мързелът е двигател на прогреса.
Светът е shell, а хората в него са alias-и и скриптове.
Аватар
darthvaderbg
Редовен потребител
Редовен потребител
Мнения: 163
Регистриран на: Сря Окт 10, 2018 22:54
Репутация: 1586
пол: Мъж

Re: Скриптче за броене на символи в името на файлове

Мнение от darthvaderbg »

А ако „файла.се.казва.така“ к'во става?
Или пък няма разширение?
Аватар
Валсо
Дарител
Дарител
Мнения: 13674
Регистриран на: Нед Мар 03, 2019 20:29
Репутация: 48327
пол: Мъж
Местоположение: ~/$USER
Обратна връзка:

Re: Скриптче за броене на символи в името на файлове

Мнение от Валсо »

darthvaderbg написа: Съб Окт 25, 2025 05:40 А ако „файла.се.казва.така“ к'во става?
Или пък няма разширение?
Ако файлът има точки в името, пак ще си сработи, защото скриптът търси стандартни файлови разширения.

А иначе това за файловете без разширения е добра идея. Сега ще му добавя логика за това и ако сработи, ще ъпдейтна кода в първия пост.
https://t.me/linuxtalkbg
Мързелът е двигател на прогреса.
Светът е shell, а хората в него са alias-и и скриптове.
Аватар
Валсо
Дарител
Дарител
Мнения: 13674
Регистриран на: Нед Мар 03, 2019 20:29
Репутация: 48327
пол: Мъж
Местоположение: ~/$USER
Обратна връзка:

Re: Скриптче за броене на символи в името на файлове

Мнение от Валсо »

darthvaderbg написа: Съб Окт 25, 2025 05:40 А ако „файла.се.казва.така“ к'во става?
Или пък няма разширение?

Код за потвърждение: Избери целия код

[rado@arch]: /C/TORRENTS>$ countt
Файлът '8.Mile.2002.WEB-DL.1080p.OM.txt' съдържа 27 символа.
Файлът 'Danny.Collins.2015.1080p.BluRay.DTS.x264.HDAccess.txt' съдържа 49 символа.
Файлът 'District.9.2009.1080p.BluRay.txt' съдържа 28 символа.
Файлът 'Independence.Day.1996.1080p.BluRay.txt' съдържа 34 символа.
Файлът 'Independence.Day.Resurgence_2016_BDRip 1080p.txt' съдържа 44 символа.
Файлът 'Lowriders.2016.LIMITED.1080p.BluRay.x264-SAPHiRE.txt' съдържа 48 символа.
Файлът 'noextensionfile.txt' съдържа 15 символа.
https://t.me/linuxtalkbg
Мързелът е двигател на прогреса.
Светът е shell, а хората в него са alias-и и скриптове.
Аватар
darthvaderbg
Редовен потребител
Редовен потребител
Мнения: 163
Регистриран на: Сря Окт 10, 2018 22:54
Репутация: 1586
пол: Мъж

Re: Скриптче за броене на символи в името на файлове

Мнение от darthvaderbg »

И накрая, за да е както трябва, да покаже оригиналното име (разширение) на файловете. Не „.txt“!
Щото някой може да си помисли, че си му прекръстил всички файлове на .txt, и ще иска да те удуши. :evil4:
Аватар
Валсо
Дарител
Дарител
Мнения: 13674
Регистриран на: Нед Мар 03, 2019 20:29
Репутация: 48327
пол: Мъж
Местоположение: ~/$USER
Обратна връзка:

Re: Скриптче за броене на символи в името на файлове

Мнение от Валсо »

Хм, за това не се бях сетил! Основно, защото аз си знам какво прави скриптът и не ми беше и минало през ума, че някой ще реши, че съм му сменил разширенията на файловете. :lol: Ще помисля по въпроса.
https://t.me/linuxtalkbg
Мързелът е двигател на прогреса.
Светът е shell, а хората в него са alias-и и скриптове.
Аватар
Валсо
Дарител
Дарител
Мнения: 13674
Регистриран на: Нед Мар 03, 2019 20:29
Репутация: 48327
пол: Мъж
Местоположение: ~/$USER
Обратна връзка:

Re: Скриптче за броене на символи в името на файлове

Мнение от Валсо »

darthvaderbg написа: Съб Окт 25, 2025 06:59 И накрая, за да е както трябва, да покаже оригиналното име (разширение) на файловете. Не „.txt“!
Щото някой може да си помисли, че си му прекръстил всички файлове на .txt, и ще иска да те удуши. :evil4:
Готово, сега вече не би трябвало да има мрънкащи. :lol:
[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 символа.
https://t.me/linuxtalkbg
Мързелът е двигател на прогреса.
Светът е shell, а хората в него са alias-и и скриптове.
Нова тема Публикувай отговор

  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Линукс - инсталация, настройки, проблеми”