У моєму каталозі ~ / docs я хочу "торкнутися" всіх файлів, що закінчуються .txt
Як я можу це зробити?
У моєму каталозі ~ / docs я хочу "торкнутися" всіх файлів, що закінчуються .txt
Як я можу це зробити?
Відповіді:
З find
:
find ~/docs -name "*.txt" -exec touch {} \;
~/docs
name
Варіант буде відповідати всім 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
документації.