Учитывая, что сообщение об ошибке начинается с mv:
и, следовательно, по-видимому, создается командой mv
("move"), я готов поспорить, что ваш bash
был настроен для обработки rename
в качестве альтернативного имени для mv
. Таким образом, вы на самом деле не запускаете команду rename
.
Чтобы проверить это, запустите type rename
. Вероятно, он скажет вам, что rename
- это псевдоним или функция оболочки, а не ссылка на исполняемый файл /usr/bin/rename
, который вы ожидали.
Вы можете обойти это, используя полный путь для вызова rename
:
/usr/bin/rename 's/100/200/g' *.csv
или записав обратную косую черту перед rename
, чтобы указать bash
, чтобы пропустить любую специальную обработку имени команды:
\rename 's/100/200/g' *.csv
Конечно, если вы хотите часто использовать реальное rename
, то не забывайте делать это каждый раз, это будет раздражать. Вы можете unalias rename
, но это только исправит это в текущей оболочке.
Долгосрочное решение состоит в том, чтобы bash
не рассматривал rename
как ярлык. Для этого сначала нужно выяснить, где определяется псевдоним или функция, а затем удалить это определение. Это, вероятно, в вашем файле $HOME/.bashrc
или $HOME/.bash_profile
. Если его там нет, то что-то вроде grep rename $HOME/.*
должно найти его. Если это не удается найти, то это может быть файл запуска системы, который вы не можете (или не хотите) редактировать, и в этом случае вы можете избавиться от него, добавив unalias rename
к вашему .bashrc
или .bash_profile
.