usa find:
find . -name "*.sh" -exec chmod +x {} \;
Prova a utilizzare la gloriosa combinazione di find con xargs.
find . -iname \*.sh -print0 | xargs -r0 chmod +x
Il .
è la directory da cui iniziare, in questo caso la directory di lavoro.
Con le versioni moderne di find
, ottieni i vantaggi di un xargs
approccio che evita più chiamate al comando (chmod
). Il comando è solo leggermente diverso.
find . -name "*.sh" -exec chmod +x {} +
Taglia da find
documenti su Arch 01.09.2015 (enfasi aggiunto da me):
-exec command {} +
Questa variante del
-exec
action esegue il comando specificato sui file selezionati, ma la riga di comando viene creata aggiungendo alla fine il nome di ogni file selezionato; il numero totale di invocazioni del comando sarà molto inferiore al numero di file corrispondenti . La riga di comando è costruita più o meno allo stesso modo dixargs
costruisce le sue righe di comando. Solo un'istanza di{}
è consentito all'interno del comando. Il comando viene eseguito nella directory iniziale.