Kadang kala anda memerlukan hapus hampir semua fail dari direktori, tetapi anda mahu menyimpan satu atau beberapa daripadanya. Apabila terdapat sebilangan besar dari mereka, pergi satu demi satu adalah tugas yang membosankan. Ini bukan pilihan terbaik, ada cara untuk menjadikan kerja di Linux menjadi lebih mudah dan anda dapat menghapuskan semua yang anda perlukan sekaligus.
Sebagai contoh, anda mungkin mahu membuang hanya yang bermula dengan nama tertentu, atau yang mempunyai peluasan tertentu, dan sebagainya. Semua itu mungkinSebenarnya, pada kesempatan lain saya telah menunjukkan tutorial serupa di LxA. Di sini anda dapat mengikuti tutorial langkah demi langkah dan dengan cara mudah untuk dapat menghapus semua fail yang anda mahukan, kecuali yang anda mahu simpan.
Dan yang terbaik ialah anda tidak perlu memasang program apa pun, ia dapat dilakukan dengan mudah dengan perintah seperti rm dan cari. Iaitu, program yang sudah diprapasang di mana-mana distro Linux. Dan tentu kaedahnya akan berdasarkan pada mencari corak dan menggunakan padanan tersebut untuk membuang hanya yang anda mahukan.
Baiklah, untuk menghilangkan di sana beberapa alternatif, Apakah mereka…
Keluarkan fail dari direktori dengan rm
Baiklah, untuk menggunakan perintah rm Untuk menghilangkan apa yang anda rasa, anda mesti mengetahui beberapa cara untuk mengenal pasti corak terlebih dahulu:
- * (senarai corak) - sepadan dengan sifar atau lebih banyak kejadian corak yang ditentukan
- ? (senarai corak) - sepadan dengan sifar atau satu kejadian corak yang ditentukan
- + (senarai corak) - sesuai dengan satu atau lebih kejadian corak yang ditentukan
- @ (senarai corak) - sesuai dengan salah satu corak yang ditentukan
- ! (senarai corak) - sesuai dengan apa sahaja kecuali salah satu corak yang diberikan
kepada aktifkan extglob Untuk menggunakannya, anda harus terlebih dahulu melaksanakan perintah berikut:
<br data-mce-bogus="1"> shopt -s extglob<br data-mce-bogus="1">
Sekarang anda boleh menggunakan rm untuk membuang apa sahaja yang anda mahukan. Sebagai contoh, hapus semua fail dari direktori kecuali yang sesuai dengan namanya «Lxa»:
rm -v !("lxa")
Anda juga boleh menentukan dua atau lebih nama yang tidak mahu dipadamkan. Contohnya, untuk mengelakkan mengeluarkan "lxa" dan "desdelinux":
rm -v !("lxa"|"desdelinux")
Anda boleh memadam semua fail, tolak mereka yang mempunyai lanjutan .mp3. Sebagai contoh:
rm -v !(*.mp3)
Pada akhirnya, anda boleh kembali ke lumpuhkan extglob:
shopt -u extglob
Keluarkan fail dari direktori dengan cari
Alternatif lain untuk rm adalah gunakan mencari untuk menghilangkan perasaan anda. Anda boleh menggunakan paip dan xarg dengan rm, atau menggunakan pilihan -delete untuk mencari. Artinya, sintaks generik adalah:
find /directory/ -type f -not -name 'PATRÓN' -delete find /directory/ -type f -not -name 'PATRÓN' -print0 | xargs -0 -I {} rm [opciones] {}
Contohnya, bayangkan anda mahukan hapus semua fail dari direktori kecuali yang mempunyai pelanjutan .jpg, anda boleh menggunakan salah satu dari dua arahan ini, kerana keduanya mendapat hasil yang sama:
find . -type f -not -name '*.jpg'-delete find . -type f -not -name '*.jpg' -print0 | xargs -0 -I {} rm -v {}
Sebaliknya, jika anda mahu tambah beberapa corak tambahan, anda juga boleh. Sebagai contoh, bayangkan bahawa anda tidak mahu mengeluarkan sama ada .pdf atau .odt dari direktori:
find . -type f -not \(-name '*pdf' -or -name '*odt' \) -delete
Sudah tentu, anda boleh melakukan perkara yang sama dengan | dan xargs seperti contoh sebelumnya. By the way, kami telah menggunakan -tidak dinafikan, tetapi anda boleh membuangnya untuk menjadikannya positif, iaitu untuk membuang corak yang sepadan dan tidak mengecualikannya.
Padamkan fail dari direktori menggunakan pemboleh ubah GLOBIGNORE
Akhirnya, ada Alternatif lain untuk mencari dan rm, dan ia menggunakan pemboleh ubah persekitaran untuk menunjuk ke fail yang ingin anda alih keluar atau kecualikan. Sebagai contoh, bayangkan bahawa anda ingin menghapus semua fail dalam direktori yang dipanggil Muat turun, menyimpan fail .pdf, .mp3 dan .mp4. Sekiranya demikian, anda boleh melakukan perkara berikut:
cd Descargas GLOBIGNORE=*.pdf:*.mp4:.*mp3 rm -v * unset GLOBIGNORE