Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Убрать из названия группы файлов часть текста  (Прочитано 15183 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн zveryakov

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Такая проблема. Имеется большая библиотека книг в девю, при копировании в комп - ошибка, мол слишком длинное имя. Подскажи какой командой можно удалить из названия всех файлов в данной папке часть текста. Пример:
Библиотека электромонтера 0002. Найфельд М.Р. Что такое защитное заземление и как его устраивать. (1959).djv
Надо чтобы стало
Найфельд М.Р. Что такое защитное заземление и как его устраивать. (1959).djv

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1293
    • Просмотр профиля
Например так:
for file in *; do mv "$file" "`sed 's/^[^.]*\.[ ]*//' <<< "$file"`";  done
можно удалить часть имени до первой точки, каждого файла в каталоге.

Оффлайн zveryakov

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Куда вбивать? Сделал скрипт sh, туда после сунул эту строку, при запуске пишет ошибку синтаксиса в консоли.
Других вариантов нет? Желательно бы удалить текст впереди названия, в начале

adawdp

  • Гость
https://forum.ubuntu.ru/index.php?topic=36936.0
— Вот такое есть предложение может его как-то можно развить, модифицировать…
http://breys.ru/blog/338.html
— Ну вот ещё интересно, можно попробовать разобраться…
http://file-folder-ren.sourceforge.net/
— Это программа группового переименования
(Нажмите, чтобы показать/скрыть)
— KRename – Программа KDE для пакетного переименования файлов в Центре вроде есть вместе с Krusader файловым менеджером по-моему применяется ну можно „померять“  я пробовал, запутано немного, но разобраться можно только настройки всё в графическом режиме.
 
« Последнее редактирование: 13 Июня 2013, 20:03:15 от adawdp »

Оффлайн zveryakov

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Спасибо за ссылки. Буду пробовать. Руками переименовывать с ума сойдешь

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net

Оффлайн saint-denis

  • Активист
  • *
  • Сообщений: 305
    • Просмотр профиля
Чего тут думать? Порубите sed'ом, как в первом ответе сказано (можете про синтаксис почитать) - и всех делов-то.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Порубите sed'ом...
Нафига лишняя сущность?

Оффлайн zveryakov

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Для меня это слишком сложно всё, мне конкретно команду чтобы выполнил, перейдя в соотв. каталог и всё
Файлы:
Библиотека электромонтера 0006. Лившиц Д.С. Нагрев проводников и защита предохранителями в электросетях до 1000 В. (1959).djv
Библиотека электромонтера 0006. Лившиц Д.С. Нагрев проводников и защита предохранителями в электросетях до 1000 В. (1959).djv
Библиотека электромонтера 0013. Ильинский Н.Ф. Расчет и выбор сопротивлений для электродвигателей. (1959).djv

и так далее

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Код: (bash) [Выделить]
find /каталог -exec rename 's/текст, который надо убрать//g' {} \;

lakomet

  • Гость
zveryakov,
В атаче программа,при запуске укажите папку с сырцами, потом папку куда будут скопированы переименованные файлы. Имя файла будет разделено по первой точке + пробел.
(Нажмите, чтобы показать/скрыть)

Оффлайн zveryakov

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
lakomet
Огромное спасибо) Ты просто гениус)
Всё сделалось, вообще мечтовка.
Вопрос, для других файлов применимо?

lakomet

  • Гость
Вопрос, для других файлов применимо?
Всмысле других? Если расширение, то применимо, а если имена, то нужно пример имени

adawdp

  • Гость
— Если стоит вопрос собать все файлы из всех поддиректорий в одну директорию при этом файлы с одинаковыми именами переименовать, то это обсуждалось вот тут, у меня была такая задача…
https://forum.ubuntu.ru/index.php?topic=216134.msg1662528#msg1662528
— Там есть скрипт он очень эффективно и быстро это делает, а после того как все файлы будут в одной папке их гораздо проще переименовать, но у меня были книги всякие, я просто им добавил порядковые номера, с именами файлов проблем правда не было, они были оптимальной длины и правильной кодировки…

Оффлайн zveryakov

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Итак, я не сразу заметил, но rename скрипт - делает всё идеально, но почему то удалил более половины файлов. В чем причина?

find /каталог -exec rename 's/текст, который надо убрать//g' {} \; работает нормально, но не так универсально

 

Страница сгенерирована за 0.054 секунд. Запросов: 22.