Dalam direktori ~ / docs saya, saya ingin "menyentuh" semua file yang diakhiri dengan .txt
Bagaimana saya bisa melakukan ini?
Dengan find
:
find ~/docs -name "*.txt" -exec touch {} \;
~/docs
name
pilihan akan cocok dengan semua txt
file - exec
akan mengeksekusi perintah touch
pada nama file, yang diganti di{}
\;
mengakhiri perintah dan touch
akan dipanggil sekali untuk setiap file yang ditemukancatatan:
\+
pada akhirnya membangun satu perintah tunggal untuk dijalankan touch
pada semua file ini sekaligus. Ini tidak mungkin dengan semua perintah, tetapi berfungsi untuk touch
dan menghemat beberapa panggilan jika Anda memiliki banyak file yang terpengaruh.
{} \+
akan lebih baik di sini ...touch
dapat menangani banyak nama file pada baris perintahnya, jadi misalnya, dengan 10 ribu file dan{} \;
10 ribu panggilan akan dibuat ketouch
... Menggunakan hanya{} \+
akan memanggiltouch
sekali (tergantung pada memori yang tersedia) ... Di sini adalah kutipan dari find ini man-halaman:-exec command {} + ... The command line is built in much the same way that xargs builds its command lines
. Ada lebih banyak detail dalamman find
dokumentasi.