Я пытался выяснить, как переименовать файлы за последние несколько часов.
У меня есть 2000 файлов, которые бы вот так:
file.1.pdb
file.2.pdb
file.3.pdb
Я хотел бы переименовать эти файлы в нечто вроде:
file.pdb.1
file.pdb.2
file.pdb.3
Вы можете использовать этот скрипт:
for i in `seq 1 2000`; do
mv file.$i.pdb file.pdb.$i
done
Или эту дружественную команду для копирования-вставки:
for i in `seq 1 2000`; do mv file.$i.pdb file.pdb.$i; done
Для использования вышеприведенных команд поместите все 2000 файлов в одну папку и затем откройте терминал в этом каталоге, а затем запустите над ним команду.
Если вы установили rename, вы можете использовать
rename -n 's/(\.\d+)\.pdb$/.pdb$1/' *.pdb # just watch what WOULD happen
rename 's/(\.\d+)\.pdb$/.pdb$1/' *.pdb # actually rename the files
Команда rename может быть установлена через
sudo apt install rename
Недавно nautilus, файловый менеджер по умолчанию, получил диалоговое окно переименования. Это еще недостаточно, чтобы делать то, что вы хотите. Но, к счастью, есть тунар, альтернативный файловый менеджер, который можно установить. С помощью диалога переименования thunars вы можете делать то, что хотите, используя GUI.
Сначала установите thunar:
sudo apt install thunar
Запустите thunar, перейдите в каталог, в котором есть ваши файлы. Затем выберите все из них. Нажмите F2.
В открывшемся диалоговом окне выберите все файлы. Измените режим на «Поиск и замена» и на «Имя и суффикс». Проверьте «Регулярное выражение». Теперь используйте следующие шаблоны поиска и замены:
file\.(.+)\.pdb
и
file.pdb.$1
Наконец нажмите кнопку переименования.
Преимущество этого способа что вы получите визуальный предварительный просмотр того, что произойдет до фактического переименования.
Вы можете использовать rename из util-linux для этого (команда называется rename.ul в ubuntu):
rename.ul .pdb '' *
rename.ul "file." "file.pdb." *
Это сначала удаляет расширение .pdb с конца, а затем повторно вставляет его в середину.
Использование Perl rename:
rename -n 's/(\.\d+)(\.pdb)/$2$1/' *.pdb
Краткое пояснение:
*.pdb Сопоставьте все файлы, которые заканчиваются на .pdb. (Выполнено оболочкой) (\.\d+) Сопоставьте буквальную точку, затем одну или несколько десятичных цифр. Parens создают группу соответствия. $2$1 Переверните первую и вторую группы соответствия. -n Нет действий (имитировать). Если выход выглядит хорошо, снова запустите команду без этого флага.Через mmv (переименовать несколько файлов с помощью шаблонов подстановок) это легко:
mmv '*.*.*' '#1.#3.#2' *.pdb
или zmv оболочки zsh; это модуль, который позволяет выполнять переименование; см. mmv :
zmv -w '*.*.*' '$1.$3.$2' *.pdb
Вы можете использовать этот скрипт:
for i in `seq 1 2000`; do
mv file.$i.pdb file.pdb.$i
done
Или эту дружественную команду для копирования-вставки:
for i in `seq 1 2000`; do mv file.$i.pdb file.pdb.$i; done
Для использования вышеприведенных команд поместите все 2000 файлов в одну папку и затем откройте терминал в этом каталоге, а затем запустите над ним команду.
Если вы установили rename, вы можете использовать
rename -n 's/(\.\d+)\.pdb$/.pdb$1/' *.pdb # just watch what WOULD happen
rename 's/(\.\d+)\.pdb$/.pdb$1/' *.pdb # actually rename the files
Команда rename может быть установлена через
sudo apt install rename
Недавно nautilus, файловый менеджер по умолчанию, получил диалоговое окно переименования. Это еще недостаточно, чтобы делать то, что вы хотите. Но, к счастью, есть тунар, альтернативный файловый менеджер, который можно установить. С помощью диалога переименования thunars вы можете делать то, что хотите, используя GUI.
Сначала установите thunar:
sudo apt install thunar
Запустите thunar, перейдите в каталог, в котором есть ваши файлы. Затем выберите все из них. Нажмите F2.
В открывшемся диалоговом окне выберите все файлы. Измените режим на «Поиск и замена» и на «Имя и суффикс». Проверьте «Регулярное выражение». Теперь используйте следующие шаблоны поиска и замены:
file\.(.+)\.pdb
и
file.pdb.$1
Наконец нажмите кнопку переименования.
Преимущество этого способа что вы получите визуальный предварительный просмотр того, что произойдет до фактического переименования.
Вы можете использовать rename из util-linux для этого (команда называется rename.ul в ubuntu):
rename.ul .pdb '' *
rename.ul "file." "file.pdb." *
Это сначала удаляет расширение .pdb с конца, а затем повторно вставляет его в середину.
Использование Perl rename:
rename -n 's/(\.\d+)(\.pdb)/$2$1/' *.pdb
Краткое пояснение:
*.pdb Сопоставьте все файлы, которые заканчиваются на .pdb. (Выполнено оболочкой) (\.\d+) Сопоставьте буквальную точку, затем одну или несколько десятичных цифр. Parens создают группу соответствия. $2$1 Переверните первую и вторую группы соответствия. -n Нет действий (имитировать). Если выход выглядит хорошо, снова запустите команду без этого флага.Через mmv (переименовать несколько файлов с помощью шаблонов подстановок) это легко:
mmv '*.*.*' '#1.#3.#2' *.pdb
или zmv оболочки zsh; это модуль, который позволяет выполнять переименование; см. mmv :
zmv -w '*.*.*' '$1.$3.$2' *.pdb