В моем каталоге ~ / docs я хочу "коснуться" всех файлов, заканчивающихся на .txt
Как я могу это сделать?
В моем каталоге ~ / docs я хочу "коснуться" всех файлов, заканчивающихся на .txt
Как я могу это сделать?
Ответы:
С find:
find ~/docs -name "*.txt" -exec touch {} \;
~/docsnameВариант будет соответствовать всем txtфайлам - execвыполнит команду touchна имя файла, который замещен в{}\;завершает команду и touchбудет вызываться один раз для каждого найденного файлаЗамечания:
\+в конце создается одна команда для одновременного запуска touchвсех этих файлов. Это невозможно со всеми командами, но оно работает touchи экономит вам несколько вызовов, если у вас много файлов, на которые влияют.
{} \+было бы лучше здесь ...touchможет обрабатывать много имен файлов в своей командной строке, так, например, с 10 тысячами файлов и{} \;10 тысяч вызовов будет сделано дляtouch... Использование{} \+будет вызыватьtouchтолько один раз (в зависимости от доступной памяти) ... Здесь отрывок из ФАЙНДА людей-страницы:-exec command {} + ... The command line is built in much the same way that xargs builds its command lines. Более подробно вman findдокументации.