comando di bash

Ottimizzazione, pulizia, gestione e manutenzione di una Debian Box

comando di bash

Messaggioda samiel » 03/01/2018, 17:45

Scusate la mia crassa ignoranza, ma avendo un comando di questo tipo:
Codice: Seleziona tutto
find . -type f -name '*.odt' -exec chmod 644 {} \;

come posso aggiungere altri tipi di file, ovvero: qual è la sintassi corretta
per applicare il comando a più tipi di file? Sparo:
Codice: Seleziona tutto
'*.odt,*.otf,*.txt'

Cercando in giro ho trovato sintassi varie, non capisco se equivalenti:
Codice: Seleziona tutto
".*\.(jpg|gif|png|jpeg)"

e quindi
Codice: Seleziona tutto
( -name "*cache" -o -name "*xml" -o -name "*html" \)


grazie
m
samiel
wiki member
wiki member
 
Messaggi: 2067
Iscritto il: 12/08/2006, 15:05
Località: Venezia

Re: comando di bash

Messaggioda byte64 » 03/01/2018, 20:32

sulla mia testing così funziona perfettamente :
Codice: Seleziona tutto
find . -type f -name '*.txt' -o -name '*.tmp' -o -name '*.sh'

Ciao
byte64
Sr. Member
Sr. Member
 
Messaggi: 350
Iscritto il: 07/01/2017, 19:02
Località: Bergamo

Re: comando di bash

Messaggioda samiel » 03/01/2018, 21:09

ma poi ti prende anche il comando -exec chmod? Perché
Codice: Seleziona tutto
find . -type f -name '*.txt' -o -name '*.pdf' -o -name '*.png' -o -name '*.gif' -o -name '*.odt' -exec chmod 644 {} \;

mi cambia i permessi solo ai file .odt (in generale agli ultimi elencati), non ai tipi di file inseriti in precedenza

.
samiel
wiki member
wiki member
 
Messaggi: 2067
Iscritto il: 12/08/2006, 15:05
Località: Venezia

Re: comando di bash

Messaggioda byte64 » 03/01/2018, 22:13

Vero...non avevo testato con -exec, e come a te non andava nemmeno a me.....
Dopo qualche prova così ha funzionato: (attenzione agli spazi)
Codice: Seleziona tutto
find . -type f \( -name '*.txt' -o -name '*.tmp' -o -name '*.sh' \) -exec chmod 644 {} \;

Ciao
byte64
Sr. Member
Sr. Member
 
Messaggi: 350
Iscritto il: 07/01/2017, 19:02
Località: Bergamo

Re: comando di bash

Messaggioda samiel » 03/01/2018, 22:23

Sì trovato grazie! anche io e così perfezionato per i miei scopi:
Codice: Seleziona tutto
find . -type f  \( -iname '*.txt' -o -iname '*.pdf' -o -iname '*.png' -o -iname '*.gif' -o -iname '*.odt' -o -iname '*.jpg' \) -exec chmod 644 {} \;
samiel
wiki member
wiki member
 
Messaggi: 2067
Iscritto il: 12/08/2006, 15:05
Località: Venezia


Torna a Tuning

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite