Как переименовать кучу файлов - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть куча файлов, начинающихся с "NCI_". Как я могу переименовать их, чтобы они начинались с "NCIB_" вместо "NCI_"? Я попытался использовать приведенную ниже команду в моей папке, содержащей файлы:

rename 's/NCI_/NCIB_/' *

Но это не сработало.Кто-нибудь может помочь, пожалуйста?

Ответы [ 3 ]

1 голос
/ 23 сентября 2019

Вы можете использовать команду переименования, как показано ниже:

rename NCI_ NCIB_ *

Проверьте снимок экрана для примера вывода.

enter image description here

0 голосов
/ 23 сентября 2019

Возможно что-то вроде

find . -name "NCI_*" -exec bash -c 'mv $0 ${0/NCI_/NCIB_}' {} \;

Найдите файлы и выполните переименование, используя mv, заменив старую строку новой.

0 голосов
/ 23 сентября 2019

Существует два инструмента с именем rename, один из util-linux, а другой написан на Perl.Версия Perl иногда доступна в менеджерах пакетов как prename или perl-rename.

. Проверьте rename --help, чтобы узнать, какая у вас есть.Util-Linux rename печатает что-то вроде этого:

$ rename --help

Usage:
 rename [options] <expression> <replacement> <file>...
...

Perl rename печатает что-то вроде этого (это известно как perl-rename в моей системе Arch Linux):

$ perl-rename --help
Usage: perl-rename [OPTION]... PERLEXPR FILE...
Rename FILE(s) using PERLEXPR on each filename.
...

При переименовании Perl, в зависимости от имени исполняемого файла в вашей системе, ваша команда должна работать:

$ perl-rename 's/NCI_/NCIB_/' *

Но если у вас есть версия util-linux, то она должна выглядеть примерно так:

$ rename NCI_ NCIB_ *
...