Sie rnm verwenden können. Der Befehl wäre:
rnm -fo -dp -1 -ns '/pd0/.txt' -ss '\.txt$' /path/to/the/directory
-fo
impliziert Datei nur Modus.
-dp
Verzeichnistiefe. -1 macht es rekursiv für alle Unterverzeichnisse.
-ns
bedeutet Name Zeichenfolge, d. H. Der neue Name der Datei.
/pd0/
ist das unmittelbare übergeordnete Verzeichnis der Datei, die umbenannt werden muss.
-ss
ist ein Suchstring (Regex). '\.txt$'
Regex sucht nach Datei mit .txt
am Ende des Dateinamens.
/path/to/the/directory
Dies ist der Pfad, in dem sich die Verzeichnisse v_1, v_2 ... befinden. Sie können die Verzeichnisse (v_1, v_2 ...) auch an Stelle des übergeordneten Verzeichnispfads übergeben. Zum Beispiel:
#from inside the parent directory
rnm -fo -dp -1 -ns '/pd0/.txt' -ss '\.txt$' v_*
scheint gut genug zu sein – giskou
'$ subdir' sollte' "$ subdir" ' sein und die leeren Ordner ' finden. -type d-empty -exec rm -rf \ {\} \; ' – giskou
@giskou Wenn Sie gerne tippen.Das Umbenennen einer einzelnen #/Datei ## 'ist viel einfacher zu schreiben und ist auf der richtigen Abstraktionsebene. Wenn du die gleiche Shell-Schleife wiederholst, wird dein ganzes Leben alt, um Dateien umzubenennen. – tchrist