GNU/Linux >> Belajar Linux >  >> Linux

Cara Menemukan Dan Menghapus File Yang Berisi Teks Tertentu Dalam Nama Mereka Di Linux

Panduan ini menjelaskan cara menemukan dan menghapus file yang berisi teks atau string tertentu dalam nama mereka menggunakan perintah find di Linux. Selain itu, kita juga akan mempelajari cara menemukan dan menghapus file yang "tidak" berisi teks tertentu dalam nama mereka.

Pengantar

Saya memiliki banyak file PDF yang memiliki beberapa tip dan trik penting Linux. Saya memberi file-file itu nama file yang unik untuk memudahkan identifikasi.

Misalnya, saya menyimpan file yang berisi detail konfigurasi server LDAP sebagai ldapconfig.pdf , file konfigurasi FTP sebagai ftpconfig.pdf , rincian konfigurasi server DHCP sebagai dhcp_config.pdf , dan seterusnya.

Saya mengonversi sebagian besar dari mereka menjadi artikel dan memposting di sini di blog kami, sehingga pengguna lain juga dapat mengambil manfaat darinya.

Masalahnya adalah file-file itu menghabiskan banyak ruang disk. Karena, saya memiliki ratusan file, saya tidak ingin mencari dan menghapusnya satu per satu secara manual. Mungkin perlu beberapa jam untuk menemukan dan menghapus semua file.

Saat mencari solusi yang mudah, saya jadi tahu bahwa perintah "temukan" dapat membantu saya dalam kasus ini. Setelah melalui halaman manual find command, saya menemukan solusi yang sesuai. Baca terus.

1. Temukan Dan Hapus File Yang Berisi Teks Tertentu Dalam Nama Mereka Di Linux

Lihat contoh berikut. Saya memiliki file berikut dalam direktori bernama "Linux_guides" .

$ cd Linux_guides/
$ ls
apache_config.pdf dhcp_config.pdf ldap_config.pdf php_install.pdf
apache_install.pdf ftp_config.pdf mysql_install.pdf

Saya menyelesaikan bagian instalasi, jadi saya tidak memerlukan file yang berisi kata-kata "install" dalam nama file mereka.

Daripada mencari dan menghapus file yang mengandung frase "install" satu per satu, kita bisa menghapus semuanya sekaligus dengan menggunakan perintah berikut:

$ find -type f -name '*install*' -delete

Perintah di atas akan menghapus semua file yang memiliki frasa "install" atas nama mereka dan simpan yang lainnya.

Jika delete tidak tersedia, Anda dapat menggunakan salah satu dari perintah berikut:

$ find -type f -name '*install*' -exec rm {} \;

Atau,

$ find -type f -name '*install*' -exec rm {} +

Anda mungkin bertanya bahwa kami dapat melakukan hal yang sama dengan menggunakan "rm" perintah seperti di bawah ini:

$ rm *install*

Ya, itu akan berhasil. Namun, rm install perintah akan menghapus semua file yang berisi "instal" dalam nama file dari direktori saat ini dan akan mengeluh jika ada nama direktori yang berisi "install" .

Tapi, "find -type f" perintah akan secara rekursif mencari hanya file di direktori saat ini dan semua sub-direktori.

1.1. Temukan File Yang Berisi Teks Tertentu Dalam Nama Mereka Di Linux

Jika Anda hanya ingin mencari file (bukan menghapus), hapus saja opsi -delete atau -exec rm {} \; atau -exec rm {} + dalam perintah di atas.

Misalnya, perintah berikut hanya akan menemukan file yang berisi string "install" atas nama mereka:

$ $ find -type f -name '*install*'

Contoh keluaran:

./mysql_install.pdf
./apache_install.pdf
./php_install.pdf

2. Temukan Dan Hapus File Yang "tidak" mengandung teks tertentu dalam namanya di Linux

Anda tahu cara menghapus file yang berisi frasa tertentu dalam namanya. Sekarang mari kita lihat cara menemukan dan menghapus file yang tidak memiliki frasa atau string tertentu atas nama mereka.

Untuk melakukannya, cukup tambahkan '-not' parameter dalam perintah find seperti yang ditunjukkan di bawah ini.

$ find -type f -not -name '*install*' -delete

Perintah di atas tidak akan menghapus file yang memiliki frasa "install" atas nama mereka dan hapus yang lainnya.

Jika hapus tidak tersedia, Anda dapat menggunakan salah satu dari perintah berikut:

$ find -type f -not -name '*install*' -exec rm {} \;

Atau,

$ find -type f -not -name '*install*' -exec rm {} +

Untuk detail lebih lanjut tentang perintah find, lihat halaman manual.

$ man find

Kesimpulan

Anda sekarang tahu untuk menemukan file yang berisi nama tertentu dalam namanya dan cara menghapus file yang memiliki dan tidak memiliki kata tertentu dalam namanya. Ini akan membantu ketika Anda ingin menghapus sejumlah besar file dengan jenis yang sama dalam sebuah direktori.


Linux
  1. Cara Menemukan dan Menghapus Direktori dan File Kosong di Linux

  2. Bagaimana saya bisa menggunakan xargs untuk menyalin file yang memiliki spasi dan tanda kutip di namanya?

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

  1. Bagaimana cara menemukan semua file yang berisi teks tertentu di Linux?

  2. Bagaimana Anda menghapus file yang lebih lama dari tanggal tertentu di Linux?

  3. Bagaimana cara menemukan file dan menjumlahkan ukurannya?

  1. Hapus File Dan Direktori Dengan Nama Mereka. Tidak ada berkas atau direktori seperti itu?

  2. Cara Menemukan Teks Tertentu menggunakan GREP di Linux

  3. Cara Menemukan dan Menghapus Direktori dan File Kosong di Unix