Penggunaan GNU find Dalam Mencari Dokumen

GNU find adalah program di Unix yang digunakan untuk mencari file di dalam hirarki direktori. Program ini memiliki banyak opsi penggunaan yang memudahkan kita dalam mencari dokumen. GNU find mengizinkan kita memberikan perintah/aksi terhadap hasil pencarian, misalnya menghapus, menyalin, melihat ukuran file ataupun aksi - aksi lainnya.

Pada tulisan ini saya tidak akan membahas semua opsi yang ada pada GNU find tapi hanya membahas penggunaan find yang sering saya gunakan, seperti : mencari file/direktori, mencari file/direktori kemudian menghapusnya dan mencari direktori kemudian melihat kapasitas dari direktori tersebut.

Mencari File/Direktori
Untuk mencari file dapat menggunakan perintah ini :

find . -type f -iname 'nama file yang dicari'

Untuk mencari direktori kita hanya perlu mengganti opsi -type f menjadi -type d

find . -type d -iname 'nama direktori yang dicari'

Mencari File/Direktori kemudian menghapusnya
Untuk mencari file dan kemudian menghapusnya dapat menggunakan perintah ini :

find . -type f -iname 'nama file yang dicari' -exec rm -f {} \;

Untuk mencari direktori dan kemudian menghapusnya kita hanya perlu mengganti opsi -type f menjadi -type d

find . -type d -iname 'nama direktori yang dicari' -exec rm -f {} \;

Untuk melakukan aksi lainnya terhadap file yang dicari, cukup dengan mengganti rm -fr dari perintah diatas.

Melihat ukuran folder didalam direktori
Saya belum menemukan perintah untuk melihat ukuran dari folder - folder pada suatu direktori di Unix. Untuk melakukan hal ini saya biasa menggunakan GNU find dengan opsi -iregex untuk memfilter hasil pencarian.

find . -type d -iregex '^\.\/[^\/]*$' -exec du -sh {} \;

Perintah diatas sama halnya dengan perintah mencari direktori dan kemudian menghapusnya, cuma bedanya disini kita menggunakan menggunakan du -sh untuk melihat ukuran folder dan opsi -iregex. Opsi ini digunakan untuk memfilter hasil pencarian dengan menggunakan regex, karena jika tidak difilter GNU find akan menampilkan semua folder atau dengan kata lain folder yang ada didalam folder yang kita cari juga ditampilkan. Berikut hasil pencarian folder jika tidak difilter :

./Aqil
./Aqil/26-06-2007
./Aqil/03-07-2007
./Dolly

Dari hasil pencarian diatas, terlihat folder yang ada didalam folder Aqil juga ditampilkan. Padahal yang ingin kita tampilkan hanyalah folder Dolly dan Aqil. Untuk memfilternya digunakan opsi -iregex dengan pattern '^\.\/[^\/]*$'. Jika anda belum memahami tentang regex bisa melihat tautan berikut.

Opsi - opsi yang digunakan
Sekarang kita akan membahas opsi - opsi dari GNU find yang kita gunakan.

-type

Opsi ini digunakan untuk menentukan tipe dari file yang dicari. Sebagai contoh -type d digunakan untuk mencari direktori, -type f digunakan untuk mencari file

-iname

Opsi ini sama dengan opsi -name yang mencari file berdasarkan nama filenya, cuma bedanya opsi ini tidak case sensitive terhadap hasil pencarian

-exec

Opsi ini sama digunakan untuk melakukan aksi terhadap hasil pencarian

-iregex

Opsi ini sama dengan opsi -regex yang mencari file berdasarkan pattern yang diberikan, cuma bedanya opsi ini tidak case sensitive terhadap hasil pencarian.

Contoh penggunanan GNU find diatas bisa anda kembangkan lagi sesuai dengan kebutuhan anda. Untuk penjelasan selanjutnya bisa anda lihat di manual GNU find dengan menjalankan perintah man find dari shell anda atau bisa melihat tautan berikut.

Comments

#kang Anom
Untuk nyari harta karun bisa pake command ini :
find / -type f -iname 'harta*'

Pake asteriks(*) biar harta gono - gini juga dapat :p

bisa ga perintah "find" buat nyari harta karun ???
:P

huehue.. iyah aku mau la kalo bisa cari harta karun.. tapi kemaren sempak ku hilang,,.. hmm berarti cara nyarinya : find . -type f -iname 'sempak ibank'

#############
file not found.. what is sempak?

find juga support:

boolean operator semacam or/and
find /dir -not -name 'exclude'

modified time,access time,change time
find /dir -mtime +1d

untuk jelasnya: man find

Kirim Komentar

Tidak akan dipublikasikan
  • Alamat web dan email dirubah menjadi hyperlink secara otomatis
  • Tag HTML yang diizinkan: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Baris baru maupun paragraph dipisahkan secara otomatis

Informasi lebih lanjut tentang format pesan