So benennen Sie alle Dateien in einem Ordner mit einem bestimmten Erweiterungsnamen um (rekursiver Ansatz)

So benennen Sie alle Dateien in einem Ordner mit einem bestimmten Erweiterungsnamen um (rekursiver Ansatz)

wir möchten alle Dateien unter /home/DB_home umbenennen (rekursiv)

Daher wird jede Datei unter DB_home mit der Erweiterung .txt umbenannt.

Beispiel

vor dem Wechsel

/home/DB_home/hg/ir/qemu-ga
/home/DB_home/td/glusterfs
/home/DB_home/yr/ew/sd/cv/ntpstats
/home/DB_home/yr/ew/sd/cv/proc.csv
/home/DB_home/td/GF.conf
/home/DB_home/td/tool.bin

Beispiel (nach Umbenennung)

/home/DB_home/hg/ir/qemu-ga.txt
/home/DB_home/td/glusterfs.txt
/home/DB_home/yr/ew/sd/cv/ntpstats.txt
/home/DB_home/yr/ew/sd/cv/proc.csv.txt
/home/DB_home/td/GF.conf.txt
/home/DB_home/td/tool.bin.txt
.
.
.

wie geht das mit find und mv?

Antwort1

So wie das:

find . -type f -exec mv {} {}.txt \;

Antwort2

find . type f -exec mv {} {}.txt \;

... weil nirgendwo steht, dass Sie es nur einmal im Befehl verwenden können {}, zumindest solange Sie das ;und nicht das verwenden +.

verwandte Informationen