Bagaimana saya mengatur untuk menemukan semua file dalam direktori dan subdirektori dan menjalankan perintah pada mereka?
Sebagai contoh,
find . -type f -name "*.txt"
menemukan semua file txt dan:
find . -type f -name "*.txt" | gedit
mengirimkannya ke gedit, tetapi di dalam file teks. Saya ingin gedit membuka semua file teks.
linux
command-line
xyz
sumber
sumber
{}
berdiri untuk nama file saat ini, dan titik koma hanya mengakhiri perintah. Garis miring terbalik dan tanda kutip sekitarnya hanya untuk mencegah ekspansi shell.find . -type f -name "*.txt" -print0 | xargs -0 gedit
sumber
man find
atauman xargs
, kemudian/
untuk mencari bendera yang diberikan. Dokumentasinya cukup bagus, harus menjawab pertanyaan Anda.-print0
mencetak karakter NULL setelah setiap entri,-0
mengharapkan entri dipisahkan oleh karakter NULL. Ini adalah cara teraman untuk menangani nama yang rumit.