Linux-BG
Начало
Помощ
Търси
Календар
Вход
Регистрирай
Добре дошъл/дошла,
Гост
. Моля,
въведи своето потребителско име
или
се регистрирай
.
Влез с потребителско име, парола и продължителност на сесията
Linux за българи: Форуми
>
Програмиране
>
Общ форум
>
Автоматизирано заместване на символи в името на файла
Страници: [
1
]
Надолу
« назад
напред »
Изпечатай
Автор
Тема: Автоматизирано заместване на символи в името на файла (Прочетена 2391 пъти)
angie_bg
Напреднали
Публикации: 842
Distribution: Ubuntu 10.04
Window Manager: Gnome
Автоматизирано заместване на символи в името на файла
«
-:
Apr 26, 2013, 15:13 »
Здравейте, имам с n файла (n>1000), които в името си съдържат кавички ("), което е допустимо за Linux, но създават проблеми с ntfs под Windows.
Моля за насоки за bash скрипт за преименуването им, като се заместят кавичките с апостроф (') или друг символ.
Активен
http://mildic.hit.bg
dejuren
Напреднали
Публикации: 1025
Distribution: Ubuntu, RedHat
Window Manager: lxde KDE4
Re: Автоматизирано заместване на символи в името на файла
«
Отговор #1 -:
Apr 26, 2013, 15:49 »
Код:
rename s/\"/drug_simvol_ili_fraza/ *
забравих да предупредя, ако другия символ е апостроф, той също като кавичките трябва да се "неутрализира" с обратна наклонена черта:
Код:
rename s/\"/\'/ *
Всички файлове трябва да са в текущата директория. Въобще конструкцията е в този вид:
rename s/// file
между наклонените черти се вмъкват символите за смяна в името
«
Последна редакция: Apr 26, 2013, 15:57 от dejuren
»
Активен
http://webchat.freenode.net/?channels=ubuntu-bg
The quieter you become, the more you are able to hear.
Две седмици цъкане с мишката спестяват два часа четене на документацията.
angie_bg
Напреднали
Публикации: 842
Distribution: Ubuntu 10.04
Window Manager: Gnome
Re: Автоматизирано заместване на символи в името на файла
«
Отговор #2 -:
Apr 26, 2013, 18:07 »
Благодаря много, сработи!
Уточнение: командата трябва да се пуска по 2 пъти, тъй като първият път заменя само отварящата кавичка.
А нещо, което да работи рекурсивно? пропуснах да спомена, че файловете ми са със структура източник/година/месец/дата/файл, напр.:
/media/Ema/BAN/dariknews.bg/2012/10/01/С "Уроците на времето" стартират Есенни музикални дни-2012 в Димитровград.pdf
Активен
http://mildic.hit.bg
dejuren
Напреднали
Публикации: 1025
Distribution: Ubuntu, RedHat
Window Manager: lxde KDE4
Re: Автоматизирано заместване на символи в името на файла
«
Отговор #3 -:
Apr 26, 2013, 18:46 »
за да не се пуска командата по два пъти това би трябвало да помогне:
rename s///g file
ще се заменят всички съвпадащи символи в името на файла.
Мислех и за рекурсивно, но все ми идват някакви комбинации от find, нещо като
find . -print | xargs rename s///g file или find . -name *\'* -print -exec rename s///g file {} \;
Може да си поекспериментираш с тези варианти, но не ги вземай за чиста монета, писах като чернова. Направи си копие в /tmp и тествай кой вариант те устройва.
Активен
http://webchat.freenode.net/?channels=ubuntu-bg
The quieter you become, the more you are able to hear.
Две седмици цъкане с мишката спестяват два часа четене на документацията.
angie_bg
Напреднали
Публикации: 842
Distribution: Ubuntu 10.04
Window Manager: Gnome
Re: Автоматизирано заместване на символи в името на файла
«
Отговор #4 -:
Apr 26, 2013, 19:28 »
Благодаря много! Ще направя опити, но дори с първоначалната команда ми спести много време.
Активен
http://mildic.hit.bg
go_fire
Global Moderator
Напреднали
Публикации: 8933
Distribution: Дебиан Сид
Window Manager: ROX-Desktop / е17
кашик с гранатомет в танково поделение
Re: Автоматизирано заместване на символи в името на файла
«
Отговор #5 -:
Apr 26, 2013, 23:43 »
Ех Анджи да видим кой е позабравил регулярките.
Иначе е така и аз се не сещам как да стане без find рекурсивно.
Активен
В $por4e2 e истината
***
Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри
***
Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear
Страници: [
1
]
Нагоре
Изпечатай
« назад
напред »