Wie bestimmte Datei finden und im Verzeichnis kopieren?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
outis
Beiträge: 395
Registriert: 07.10.2005 12:28:01

Wie bestimmte Datei finden und im Verzeichnis kopieren?

Beitrag von outis » 07.01.2021 17:22:34

Hallo,

ich habe wohl die Suchmaschinen noch nicht richtig befragt. ;)

Ich möchte

1. in allen Unterverzeichnissen eine bestimmte Datei (folder.jpg) kopieren nach cover.jpg. Beide jpg sollen also im selben Verzeichnis vorhanden sein.

Code: Alles auswählen

find . -name folder.jpg -exec cp {} cover.jpg \;
War für den Anfang nicht schlecht, aber es wird nur im Wurzelverzeichnis eine immer wieder überschriebene cover.jpg angelegt.

Wie muss der Befehl -exec korrekt heißen, sodass die cover.jpg im selben Verzeichnis wie die folder.jpg angelegt wird?

2. Und wenn wir schon dabei sind: Wie ermittle ich alle Verzeichnisse, die weder folder.jpg noch cover.jpg enthalten?

Vielen Dank im voraus. :)
Zuletzt geändert von outis am 08.01.2021 09:13:23, insgesamt 1-mal geändert.
LG

Jochen

tobo
Beiträge: 2336
Registriert: 10.12.2008 10:51:41

Re: Wie bestimmte Datei finden und im Verzeichnis kopieren?

Beitrag von tobo » 07.01.2021 18:05:24

outis hat geschrieben: ↑ zum Beitrag ↑
07.01.2021 17:22:34
Wie muss der Befehl -exec korrekt heißen, sodass die cover.jpg im selben Verzeichnis wie die folder.jpg angelegt wird?
-execdir anstelle -exec sollte schon ausreichen.
2. Und wenn wir schon dabei sind: Wie ermittle ich alle Verzeichnisse, die weder folder.jpg noch cover.jpg enthalten?
Sowas?

Code: Alles auswählen

find . -type d -not \( -exec test -f "{}/folder.jpg \; -or -exec test -f "{}/cover.jpg" \; \) -print

outis
Beiträge: 395
Registriert: 07.10.2005 12:28:01

Re: Wie bestimmte Datei finden und im Verzeichnis kopieren?

Beitrag von outis » 07.01.2021 22:32:36

Danke schön. Passt! :THX:

Falls ein anderer User den zweiten Befehl auch nützen möchte: hinter folder.jpg möchte auch noch ein ".
LG

Jochen

Antworten