So benennen Sie den Satz von Dateien mit Muster um

7

Ich habe Dateien mit folgendem Namen:

P50_FR_8_q2_scrolls.csv

Hier müssen die Werte 50 und 8 umbenannt werden. Die Ergebnisse sollten ungefähr so ​​aussehen:

P21_FR_3_q2_scrolls.csv

Ich habe ein paar müde müde, rename 's/\d{3}(\d{*})\.csv$P21_$1.csv' *.csv aber kein Glück. (Es scheint, ich bin wirklich schlecht in Linux Regex)

Der Wert 50-> 21 und 8-> 3 ist etwas, das ich kenne. Der Start- und Endwert haben jedoch nicht immer die gleiche Zifferngröße.

dinesh707
quelle
1
Besuchen Sie auch: askubuntu.com/q/283145/256099
Pandya

Antworten:

9

Versuchen

rename -n 's/50(_.*)_8/21$1_3/' *.csv

Die -nFlagge wird nicht umbenannt. Auf diese Weise können Sie Muster testen. Entfernen Sie es, um die Umbenennung tatsächlich durchzuführen.

muru
quelle
2
Geben Sie auch Informationen an, die: -nfür No-Act verwendet und schließlich -nzum Anwenden entfernt werden.
Pandya