Это должно сделать это:
find / -type f -name '*.dcm' -exec sh -c 'mv -- "$0" "$"' {} \;
Команда:
- Рекурсы из
/
- Находит каждый файл с именем
*.dcm
- Выполняет небольшой вызов subshell с одним аргументом filename (
{}
) - … Который переименовывает файл (
$0
), используяmv
- удаление самый короткий матч (
%
) в.dcm
использовании манипуляций со строками
Положите echo
перед, mv
чтобы увидеть, что он будет делать.
Если вы хотите работать без подоболочки, вы можете передать while
:
find / -type f -name '*.dcm' -print0 | while IFS= read -r -d '' filename; do mv -- "$filename" "$" done