Одним из способов быстрого переименования файлов в Windows является
F2 > Rename > Tab (to next file) > Rename ...
Но в Ubuntu / Nautilus я не могу перейти к следующему файлу. Но, будучи в Linux, я думаю, что должна быть альтернатива командной строки.
Однако иногда я могу больше контролировать, как переименовывать определенные файлы. В этом случае, возможно, лучше иметь возможность перейти к следующему файлу
Попробуйте pyrenamer.
Он не интегрирован с nautilus, но он выполняет свою работу. pyrenamer - обзор.
У Thunar (часть XFCE) также есть переименование, которое вы можете запускать отдельно.
Кажется, проект на стартовой панели называется nautilus-renamer. Вы можете установить его, запустив make install после загрузки сценария и разблокировки его. Кажется, что у вас есть некоторые функции, или, если вы знаете, что некоторые программы могут быть вам полезны, вы просто можете улучшить его по мере необходимости, поскольку это всего лишь сценарий python.
В командной строке для переименования одного файла команда просто
mv file1.txt file2.txt
Если вы хотите сделать это в пакетном режиме, вы, вероятно, захотите сделать это с помощью скрипта. Если вы предоставите более подробную информацию, я или кто-то другой, возможно, взломают вас за вас. Тем не менее, скрипт для добавления файла в файл может выглядеть так:
#!/bin/bash
for file in *
do
# separate the file name from its extension
if [[ $file == *.* ]]; then
ext="${file##*.}"
fname="${file%.*}"
mv "$file" "${fname}_APPENDSTUFFHERE.$ext"
else
mv "$file" "${file}_APPENDSTUFFHERE"
fi
done
В зависимости от того, как вам нужно, что вещи переименованы, это, вероятно, будет изменено, например, если у вас есть определенные правила переименования , (Лично я сделал бы это с помощью Perl-скрипта, так как мой bash-foo не так уж хорош, но это только я.)
Обратите внимание, что я получил разделение имени файла и расширения от ранее заданного вопроса.
Если вы хотите сделать это без командной строки, аналогично тому, что вы делали в Windows, используйте клавишу со стрелкой вправо вместо клавиши табуляции. Это выберет следующий файл так же, как и в Windows.
Не совсем такой же вопрос, как Как можно переименовать много файлов одновременно? но я собираюсь предложить ту же самую программу, которую я предложил в этом ответе: qmv.
qmv - удобный инструмент из пакета renameutils. Это позволяет вам использовать ваш любимый текстовый редактор для переименования файлов. В сочетании с мощью vim у вас отличная утилита для переименования.
Обычно я вызываю ее как qmv -f do в каталоге, где я хочу переименовать кучу файлов. Если я хочу переименовать рекурсивно qmv -R -f do.
Всякий раз, когда мне нужно переименовывать несколько файлов, я всегда возвращаюсь к qmv (и vim).
Если единственным подходящим вариантом является переименование файлов вручную, отличный способ сделать это - использовать vidir (в пакете moreutils):
sudo add-apt-repository universe && sudo apt-get update && sudo apt-get install moreutils
DESCRIPTION
vidir allows editing of the contents of a directory in a text editor.
If no directory is specified, the current directory is edited.
When editing a directory, each item in the directory will appear on
its own numbered line. These numbers are how vidir keeps track of what
items are changed. Delete lines to remove files from the directory, or
edit filenames to rename files. You can also switch pairs of numbers
to swap filenames.
Note that if "-" is specified as the directory to edit, it reads a
list of filenames from stdin and displays those for editing.
Alternatively, a list of files can be specified on the command line.
Содержимое текущей рабочей директории:
.
├── bar
├── baz
└── foo
Запустите vidir, переименуйте имена файлов в строках, содержащих имена файлов, которые вы хотите переименовать; удалите CTRL + O и CTRL + X:
.
├── bar.bak
├── baz.old
└── foo.new
Содержимое текущей рабочей директории:
.
├── bar
├── baz
└── foo
Содержимое файлов текущей рабочей директории:
$ for f in *; do printf '- %s:\n\n' "$f"; cat "$f"; echo; done
- bar:
This is bar
- baz:
This is baz
- foo:
This is foo
$
Запустите vidir, переключите номера в строках, содержащих имена файлов, которые вы желание переключиться; CTRL + O и O + X:
.
├── bar
├── baz
└── foo
$ for f in *; do printf '- %s:\n\n' "$f"; cat "$f"; echo; done
- bar:
This is foo
- baz:
This is bar
- foo:
This is baz
$
Содержимое текущей рабочей директории:
.
├── bar
├── baz
└── foo
Запустите vidir, удалите строки, содержащие файлы, которые вы хотите удалить; O + O и CTRL + X :
.
└── baz
Я использую krename. Это графическое приложение.
Он существует как отдельное приложение, так и часть Krusader.
Существует также сценарий rename - который является частью стандартная установка perl (возможно, вы ее установили). Проверьте это с помощью man rename.