ich eine Reihe von Dateien wie dieseWie zwei Teile eines Dateinamens
name-id.ext
und ich möchte Namen tauschen die ID und den Namen in der Datei tauschen, so dass sie benannt sind
id-name.ext
Dies scheint zu funktionieren, das einzige Problem ist, dass es die Datei extention Swaps zu
for file in *; do echo "${file#*-}-${file%-*}"; done
I Ich habe versucht, alle möglichen Dinge zu finden, das ist was ich bisher herausgefunden habe und ich denke, sollte funktionieren, aber es nicht tun, für die Datei in *; echo "$ {Datei% - *} - $ {Datei # * -}"; done –
Bitte bearbeiten Sie Ihre Antwort, um Ihren Code hinzuzufügen, anstatt einen Kommentar hinzuzufügen. Auf diese Weise können Sie es formatieren und es einfacher zu lesen. Sie zwingen auch nicht dazu, dass Leute versuchen, Ihnen zu helfen, sich durch eine Menge von Kommentaren zu graben und die Informationen aufzuheben. – Robert
Ihre '$ {Datei% -}' usw. sieht ungefähr richtig aus. Hast du es für 1 Datei arbeiten lassen, bevor du gegen all deine Dateien läuftst? Haben Sie Ihre Dateien überprüft, um sicherzustellen, dass sie keine Leerzeichen oder Ctrl-Zeichen in ihren Namen enthalten und dass Sie vernünftigerweise erwarten können, dass Ihre Lösung für alle Dateien funktioniert? Zukünftig sollten Sie sicherstellen, dass Sie den Code, den Sie versucht haben, ** in den Text Ihres Q ** einbeziehen, damit die Leute nicht durch jede wachsende Kette von Kommentaren lesen müssen. Viel Glück! – shellter