Скажем, у меня есть папка с некоторыми файлами:

/Users/user101/Temp/rentest: ls
fi_name1.txt  fi_name2.txt  fi_name3.txt

Я ищу гибкий метод переименования. Например, если я делаю:

/Users/user101/Temp/rentest: ls | vim -

Я вхожу в VIM:

Теперь, как мне перенаправить это обратно в терминал? И более того, как бы я использовал это вместе с командой mv для пакетного переименования файлов в каталоге?

Я знаю, что есть утилита rename и большинство людей ответят, просто изучив кучу команд terminal , но я считаю, что это гораздо более интересный / гибкий способ сделать это. Кто-нибудь знает метод или пытался сделать это раньше?

РЕДАКТИРОВАТЬ: Существует тенденция на stackexchange чтобы захватить специфику вопроса. Но я не ищу ответы, которые говорят: «о, вы сделали файлы один за другим, так что просто используйте mv » или «о, режим редактирования столбцов позволит вам сделать только один вид изменений для всех файлов».

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

/Users/ivanabraham/Temp/rentest: ls
fi_name1.txt  fi_name2.txt  fi_name3.txt  gi_name3.txt  gi_name4.txt

а также

ls | grep 'fi*' | vim -

например.

2 ответа2

1

Видир из Moreutils, кажется, делает то, что я искал. На MacOS вы можете сделать:

brew install moreutils

как только вы настроите Homebrew .

Учитывая, что кто-то написал расширения / приложения для этого, возможность сделать это из CLI кажется маловероятной, но если кому-то удастся это сделать, мне было бы очень интересно посмотреть, как они это сделали.

0

Кажется, этот набор инструментов не поддерживается, но я все еще использую его: https://www.nongnu.org/renameutils/

В частности:

Программа qmv ("быстрый ход") позволяет редактировать имена файлов в текстовом редакторе. Имена всех файлов в каталоге записываются в текстовый файл, который затем редактируется пользователем. Текстовый файл читается и анализируется, и изменения применяются к файлам.

qmv может работать в нескольких режимах, но я предпочитаю использовать его с параметрами командной строки -fdo которых в редакторе указывается место назначения только в виде одного столбца.

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