staging.inyokaproject.org

Bestimmte Dateien vom Umbenennen ausschließen

Status: Ungelöst | Ubuntu-Version: Ubuntu 16.04 (Xenial Xerus)
Antworten |

Kasashii

Anmeldungsdatum:
21. März 2018

Beiträge: Zähle...

Hallo,

ich möchte gerne ein paar bestimmte Dateien vom umbenennen ausschließen

Die Dateien liegen so in einem Ordner ab.

/srv/storage/eurosport/test/18_Cable_Operator/AmazonDE/2018_CurrentDay_FEEDPLAYER12_GERMAN_2019-01-30.xml
/srv/storage/eurosport/test/18_Cable_Operator/AmazonDE/2018_CurrentDay_FEEDPLAYER12_GERMAN.xml

Jetzt muss ich die Dateien mit dem heutigen Datum versehen was ich so mache, da ich die Dateiendung dabei habe:

1
2
test=${file1::-4}                                       
mv $file1 $test\_$(date "+%Y-%m-%d").xml 

Die Dateien welche schon ein Datum im Namen haben sollen jetzt von dieser Änderung ausgeschlossen sein. Die Dateien werden über eine while Schleife abgerufen und dann wie oben umbenannt. Ich habe gedacht, es einfach mit einer if-abfrage und einem RegEx zu umgehen und diese Dateien mit Datum zu überspringen. Laut allen Testern im Internet ist der Ausdruck und der Begriff gleich, aber in der Bash funktioniert es nicht

1
2
getesteter String: /srv/storage/eurosport/test/18_Cable_Operator/AmazonDE/2018_CurrentDay_FEEDPLAYER12_GERMAN_2019-01-30.xml
RegEx:             [A-z0-9\/]*_[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]).xml

Ich hoffe ihr habt ein paar Tipps wie ich das lösen kann, gerne auch mit einem anderen Ansatz

Bearbeitet von rklm:

Codeblock

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13242

1
2
3
4
5
6
$ ls -1
2018_CurrentDay_FEEDPLAYER12_GERMAN_2019-01-30.xml
2018_CurrentDay_FEEDPLAYER12_GERMAN.xml
$ for f in *.xml; do case "$f" in *GERMAN.xml) echo "edit   $f";; *) echo "ignore $f";; esac; done
ignore 2018_CurrentDay_FEEDPLAYER12_GERMAN_2019-01-30.xml
edit   2018_CurrentDay_FEEDPLAYER12_GERMAN.xml
Antworten |