No meu diretório ~ / docs, quero "tocar" em todos os arquivos que terminam com .txt
Como posso fazer isso?
No meu diretório ~ / docs, quero "tocar" em todos os arquivos que terminam com .txt
Como posso fazer isso?
Respostas:
Com find:
find ~/docs -name "*.txt" -exec touch {} \;
~/docsnameopção corresponderá a todos os txtarquivos - execexecutará o comando touchno nome do arquivo, que é substituído em{}\;finaliza o comando e touchserá chamado uma vez para cada arquivo encontradoNota:
\+no final, cria um único comando para executar touchem todos esses arquivos de uma só vez. Isso não é possível com todos os comandos, mas funciona touche economiza algumas chamadas se você tiver muitos arquivos afetados.
{} \+seria melhor aqui ...touchpode lidar com muitos nomes de arquivos em sua linha de comando, por exemplo, com 10 mil arquivos e{} \;10 mil chamadas serão feitas paratouch... O uso{} \+chamarátouchapenas uma vez (dependendo da memória disponível) ... Aqui é um trecho de da descoberta man-page:-exec command {} + ... The command line is built in much the same way that xargs builds its command lines. Há mais detalhes naman finddocumentação.