Nella mia directory ~ / docs, voglio "toccare" tutti i file che terminano con .txt
Come posso fare questo?
Nella mia directory ~ / docs, voglio "toccare" tutti i file che terminano con .txt
Come posso fare questo?
Risposte:
Con find:
find ~/docs -name "*.txt" -exec touch {} \;
~/docsnameopzione corrisponderà a tutti i txtfile - execeseguirà il comando touchsul nome del file, che è sostituito in{}\;termina il comando e touchverrà chiamato una volta per ogni file trovatoNota:
\+alla fine costruisce un singolo comando da eseguire touchsu tutti questi file contemporaneamente. Questo non è possibile con tutti i comandi, ma funziona touche ti salva alcune chiamate se hai molti file interessati.
{} \+sarebbe meglio qui ... intouchgrado di gestire molti nomi di file sulla sua riga di comando, quindi ad esempio, con 10 mila file e{} \;10 mila chiamate verranno fatte atouch... L'utilizzo{} \+chiameràtouchsolo una volta (a seconda della memoria disponibile) ... Qui è un estratto del ritrovamento dell'uomo-page:-exec command {} + ... The command line is built in much the same way that xargs builds its command lines. Ci sono più dettagli nellaman finddocumentazione.