Das sollte es tun:
find / -type f -name '*.dcm' -exec sh -c 'mv -- "$0" "$"' {} \;
Der Befehl:
- Rekursionen von
/
- Findet jede Datei mit dem Namen
*.dcm
- Führt einen kleinen Subshell-Aufruf mit einem Argument aus, dem Dateinamen (
{}
). - … Mit welcher die Datei (
$0
) umbenannt wirdmv
- das kürzeste match (
%
) der.dcm
String-Manipulation löschen
Setzen Sie ein echo
vor, um mv
zu sehen, was es tun würde.
Wenn Sie ohne Subshell arbeiten möchten, können Sie Folgendes per Pipe an while
:
find / -type f -name '*.dcm' -print0 | while IFS= read -r -d '' filename; do mv -- "$filename" "$" done