Ich möchte Dateien in einem Verzeichnis umbenennen, deren Namen bestimmten Suffixen entsprechen, nämlich 810
oder 814
. Ich möchte, dass die neuen Namen eine Zeichenfolge enthalten, die abhängig vom Suffix ausgewählt wird (für 814
, EB_ENROLL_REQ
; für 810
, EB_BCHG_REQ
).Benennen Sie Dateien in einem Verzeichnis um; neuer Name hängt von einem Teil des alten Namens ab
Beispiele für die Eingabe von Dateinamen (alle in $source_dir
) sind:
CCRD_LLX_814_20160218043477.EDI810
CCRD_LLX_814_20160218043407.EDI814
helloworld
CCRD_LLX_814_20160218043487.EDI814
test123
files.txt
CCRD_LLX_814_20160218043467.EDI810
ich alle Dateien in dem Verzeichnis lesen und Umbenennen nur die Dateien, die mit 814
oder 810
, den Rest zu ignorieren.
Ich habe versucht:
export search_dir=/home/test2
declare -a myArray
myArray[814]=EB_ENROLL_REQ
myArray[810]=EB_BCHG_REQ
for entry in "$search_dir"/*
do
pattern=${entry: -3}
#if ??
mv "$entry" "$entry.XHS.JOBRUNID.${myArray[$pattern]}.$entry.XHE"
done
aber nicht bekommen, was ich brauche.
Der Ausgabedateinamen für eine 814
Datei sollte sein, zum Beispiel:
CCRD_LLX_814_20160218043487.EDI814.XHS.JOBRUNID.EB_ENROLL_REQ.CCRD_LLX_814_20160218043487.EDI814.XHE
Ich glaube, ich mit meinem qs sagen jus Teil davon verwirrt. Die ganze Frage ist, ich möchte eine Zeichenfolge basierend auf dem Suffix 814/810 zu der umbenannten Datei hinzufügen – Rczone
Ich habe meine Frage bearbeitet @cxw – Rczone
@Rczone Edited - geben Sie es eine Chance! - ** Nochmals bearbeitet **, um einen Fehler zu beheben, den ich beim Testen gefunden habe. – cxw