6

В linux существует команда rename , для переименования набора файлов с регулярными выражениями.

rename 's/prefix_//' *.jpg

если я ищу в пакете cygwin, я нахожу пакет renameutils , но при этом не устанавливаются команда переименования, установка qmv и другие подобные.

Как я могу установить rename в Cygwin?

4 ответа4

5

rename предоставляется пакетом util-linux , который можно найти в следующих категориях в установщике Cygwin.

  • система
  • Текст
  • Utils

Если вы хотите узнать, какой пакет предоставляет конкретный исполняемый файл, вы можете использовать команду cygcheck которая поставляется с Cygwin по умолчанию.

$ cygcheck -p 'rename\.exe'
Found 6 matches for rename\.exe
x86_64/gvfs/gvfs-1.16.3-1
x86_64/gvfs/gvfs-1.16.4-1
x86_64/gvfs-debuginfo/gvfs-debuginfo-1.16.3-1
x86_64/gvfs-debuginfo/gvfs-debuginfo-1.16.4-1
x86_64/util-linux/util-linux-2.21.2-1
x86_64/util-linux-debuginfo/util-linux-debuginfo-2.21.2-1


3

По умолчанию Cygwin не поставляется с возможностью переименования. Требуется пакет util-linux .

Команда Cygwin Rename переименовывает файлы, если вы указываете точное имя целевого файла. Это то же самое, что и команда mv .

Синтаксис:

mv <filename> <new filename>
3

Необходимая вам функция с регулярными выражениями - это Perl-скрипт, иногда называемый Perl Rename, или prename . Обычно он распространяется вместе с Perl и отличается от программы rename предоставляемой util-linux .

Один из способов включить его в Cygwin - загрузить его с GitHub. Это просто требует, чтобы у вас был установлен пакет Perl Cygwin.

mkdir -p ~/bin
wget https://raw.githubusercontent.com/subogero/rename/master/rename
mv rename ~/bin
chmod +x ~/bin/rename
PATH=~/bin:$PATH    # Add this to your ~/.bashrc to make it permanent
which rename
0

скачать с http://gnuwin32.sourceforge.net/packages/util-linux-ng.htm

извлечь и переписать

C:\Program Files\Git\mingw64

как это

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