Я только что перешел из mDebian в macOS после того, как мой ноутбук сломался. К счастью, я был в состоянии спасти мой .zshrc с моими псевдонимами, однако, два псевдонима, которые используют "find", похоже, не работают в macOS, и я не совсем уверен, в чем разница.

Первая команда должна переместить все файлы из msubdirectories в текущий каталог, и она работала безупречно на debian:

alias mup='find -type f -exec mv {} . \;'

На MacOS, однако, я получаю «найти: нелегальный вариант - т»

Точно так же, чтобы изменить окончание файла с JPG на JPG, я использовал

alias jprn="find -name '*.JPG' -exec rename "s/.JPG/.jpg/g" \{\} \;"

что приводит к другому "найти: недопустимая опция - n"

К сожалению, ошибка довольно загадочная, поэтому я даже не знаю, с чего начать поиск разрешения, так как все дескрипторы кажутся правильными, основываясь на человеке.

Любая информация или указатель будет принята с благодарностью!

Спасибо

1 ответ1

1

для mup , find нужен аргумент path :

alias mup='find . -type f -exec mv {} . \;'

для jprn для find необходим аргумент path . Кроме того, в macOS нет команды rename (хотя вы можете установить ее с помощью Homebrew ). Это лучшее, что я мог придумать на данный момент:

alias jprn='find . -name "*.JPG" -print | while read -r f; do mv "$f" "${f/%JPG/jpg}"; done'

${f/%JPG/jpg} заменяет $f заканчивающийся на JPG на jpg , см. последнюю часть раздела "Расширение параметров" в man zshexpn .

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