Ich bin neu in awk und Shell-basierter Programmierung. Ich habe eine Reihe von Dateien namens file_0001.dat
, file_0002.dat......file_1000.dat
. Ich möchte die Dateinamen ändern, wie die Zahl, nachdem Datei_ ein Vielfaches von 4 im Vergleich zum vorherigen Dateinamen ist. SO möchte ich ändern
und so weiter.
Kann jemand ein einfaches Skript vorschlagen, um es zu tun? Ich habe folgendes versucht, aber ohne Erfolg.
%Vor%Dieses Skript wird diesen Trick für Sie tun:
%Vor%Dateien vorher:
file_0001.dat file_0002.dat
Dateien nach der ersten Ausführung:
file_0004.dat file_0008.dat
Dateien nach der zweiten Ausführung:
Datei_0016.dat Datei_0032.dat
ls -r1 | awk -F '[_.]' '{printf "%s %s_%04d.%s\n",
ls -r1
, , 4*, }' | xargs -n2 mv
file_0002.dat
listet die Datei in umgekehrter Reihenfolge auf, um Konflikte zu vermeiden file_0002.dat file_0008.dat
wird xargs -n2
mv
übergibt jedes Mal zwei Argumente an %code%