Ich habe die Lösung hier ausgecheckt, aber sie geht nicht gut auf mein Problem ein, da sie nicht die spezifische Struktur meiner Benennung verwendet.
Ich habe eine Sammlung von Dateien, die zum Beispiel systematisch aufgelistet und benannt sind
filep-x
Dabei ist x eine Zahl, die ziemlich groß sein kann, und p ist ein Marker für eine "Makrocollection". Ich möchte alle Dateien in einer solchen Makrocollection als Vorlage kopieren und alle kopierten Dateien automatisch umbenennen als
fileq-x
Mit anderen Worten, gibt es eine Option, mit der ich Namen mithilfe des Terminals automatisch ersetzen kann (wie es in vielen Editoren möglich ist), ohne mit zusätzlichen Dokumenten zu arbeiten?
Danke im Voraus!
quelle
for ... in ... done
Befehle, wie sie geschrieben wurden, möglicherweise nicht ordnungsgemäß ausgeführt werden konnten, da Sie darauf verwiesen haben, es"$file"
aber nicht zugewiesen haben! Es sollte"$f"
nicht sein"$file"
. Außerdem versuchen Sie, eine Datei zu verschieben, die nicht vorhanden ist, weilfor f in fileq-*
es so sein sollfor f in filep-*
. Die vorhandenen Dateien haben einenp
nichtq
vor dem-
im OP und sollenq
im Rahmen des Umbenennens sein. Wenn ich mich irre,sed
wäre Ihr Befehl falsch.fileq-
undfilep-
sowie zwischen$file
und$f
(diese passiert mir in der Hälfte meinerbash
Skripte ... eine schlechte Angewohnheit). - Aktualisierte.