GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengecualikan Direktori Saat Menemukan File di Linux

Di Linux, perintah find digunakan untuk mencari file atau folder dari baris perintah. Ini adalah perintah yang kompleks dan memiliki banyak pilihan, argumen, dan mode.

Penggunaan paling umum dari perintah temukan adalah mencari file menggunakan ekspresi reguler atau nama file lengkap yang akan dicari.

[ Anda mungkin juga menyukai:Cara Menemukan File yang Mengandung String Teks Tertentu di Linux ]

Misalnya, untuk mencari file dengan nama yang dimulai dengan ‘file_’ , kita dapat menjalankan:

$ find . -name 'file_*'

Seperti yang Anda lihat di atas, ini menampilkan path lengkap dari file yang dikembalikan oleh pencarian. Di sini, '.' menyiratkan direktori saat ini . Find akan mencari pola nama file di direktori saat ini, semua subdirektori, dan seterusnya hingga tingkat terdalam dari struktur file. Demikian pula, Anda dapat memiliki direktori lain sebagai pengganti '.' .

Mengecualikan Direktori Saat Mencari File

Sekarang, mungkin ada skenario ketika pengguna yakin bahwa folder atau folder tertentu tidak berisi file yang akan dicari. Oleh karena itu, adalah ide yang baik untuk mengecualikan folder tersebut dari pencarian, sehingga perintah mengembalikan hasil lebih cepat.

Untuk mengecualikan direktori dari pencarian, gunakan '-prune' argumen:

$ find . -name './test' -prune -o -name 'file_*'

Mari kita analisis dulu apa yang terjadi di sini.

Bagian "-name './test' -prune" menyiratkan:kecualikan folder 'test' dari mencari. Setelah itu, '-o' memberi tahu perintah:apa lagi yang harus dilakukan setelah perintah mengecualikan 'test' . Kami hanya meneruskan pola yang dijelaskan dalam contoh sebelumnya di sini.

Pola ini sekarang akan berjalan di semua folder, kecuali 'test' .

Anda sekarang dapat melihat bahwa pencarian memang mengecualikan folder 'test' . Namun, nama folder itu sendiri akan dicetak.

Kecualikan Nama Direktori dari Cari Keluaran

Untuk menghindarinya, cukup tambahkan '-print' pada akhirnya. Opsi ini akan mengecualikan nama direktori dari output.

$ find . -name './test' -prune -o -name 'file_*' -print

Pola sekarang telah mencari file di direktori saat ini dan mengecualikan 'test' direktori.

Kesimpulan

Pada artikel ini, kita telah melihat cara mengecualikan direktori saat mencari file menggunakan perintah find. Perhatikan bahwa contoh yang diberikan dalam artikel ini adalah mencari file berdasarkan nama file ('-name') . Ada banyak cara lain untuk mencari file juga dalam perintah find. Pastikan Anda merujuk ke halaman manual dari perintah temukan untuk menjelajahinya secara mendalam.

Terima kasih telah membaca dan jangan ragu untuk meninggalkan umpan balik atau pertanyaan di komentar di bawah.


Linux
  1. Menemukan File di Command Line (Cara)

  2. Cara Menemukan Jumlah File dalam Direktori dan Subdirektori

  3. Cara Mengecualikan File Ukuran Tertentu Dari Menyalin Di Linux

  1. Cara Mengganti Nama File di Linux

  2. Cara Menemukan File Di Linux Di Semua Direktori Secara Rekursif

  3. Cara Menggunakan Perintah find Linux untuk Menemukan File

  1. Cara Menemukan File dengan Perintah fd di Linux

  2. Cara mengecualikan direktori di find . memerintah

  3. Perintah Linux:Bagaimana cara 'menemukan' hanya file teks?