2

У меня есть около 1000 файлов, содержащих символ * в имени. Мне нужно найти эти файлы и заменить * на - . Я работаю с HP UX v11. Я использую следующую команду

find . -type f -name '*\**' -exec bash -c 'f="$1"; mv "$f" "${f//\*/-}"' - '{}' \;

Я сказал , что работает , но для меня это переименовывает полный файл - вместо замены *

GNU bash, версия 2.04.0(1)-релиз (hppa2.0w-hp-hpux11.00)

1 ответ1

0

Попробуйте эту команду найти команду:

find . -type f -name '*\**' -exec bash -c 'f="$1"; echo mv "$f" `echo "$f"|tr "\*" "-"`' - '{}' \;

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