3

У меня есть папка с несколькими сотнями файлов, названных так:

010203.txt

Я хочу изменить имена файлов так, чтобы последние две цифры были перемещены вперед:

030102.txt

Я хочу избежать написания сценария.

Вместо этого я ищу "переименователь файла регулярного выражения linux gui", который может рекурсивно оценивать все файлы в папке (и ее подпапках).

Я хочу, чтобы возможность указать регулярное выражение для сопоставления файла:

(\ D \ d)(\ d \ d)(\ d \ d)(.*)

И я хочу иметь возможность выполнять подстановку регулярных выражений, чтобы переименовать файл:

$ 3 $ 1 $ 2 $ 4

Любое предложение?

3 ответа3

6

Я понимаю, что это не совсем "графический интерфейс", но вы ничего не сказали, почему это требование, и есть уже написанные инструменты командной строки, которые делают это; например, perl-rename:

find ~/dir -type f -exec prename -n 's/^(\d\d)(\d\d)(\d\d)(.*)$/$3$1$2$4/' {} +

(-n включает "тестовый" режим. Если вы удовлетворены результатом, запустите снова с -v или без параметров.)

1

Я ценю предложения, но я нашел более простой способ, используя графический интерфейс пользователя.

В Ubuntu установите thunar:

sudo apt-get install thunar

Затем все, что вам нужно сделать, это перейти в папку (с помощью thunar) и нажать ctrl-a, чтобы выбрать все файлы в этой папке.

После этого щелкните правой кнопкой мыши по одному из файлов (который вы выделили) и выберите "переименовать" в контекстном меню. Затем появляется это диалоговое окно , позволяющее вам выполнить подстановку регулярного выражения для переименования.

Это не соответствует рекурсивному требованию, которое я упомянул, но для изменения имен всех файлов в одной папке это намного проще, чем из командной строки, но на самом деле, я ценю оба метода.

1

Некоторые хорошие инструменты с графическим интерфейсом для переименования файлов

  • KRename для рабочего стола KDE (лично я предпочитаю это, потому что я пользователь KDE);
  • GPRename и pyRenamer для Gnome.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .