निर्देशिकेतून वगळता सर्व फायली कशा हटवायच्या

लिनक्स फायली हटवा

कधीकधी आपल्याला आवश्यक असते निर्देशिकेतून जवळपास सर्व फाईल्स काढा, परंतु आपण त्यापैकी एक किंवा काही ठेवू इच्छित आहात. जेव्हा त्यांच्यातील बरीच संख्या असते तेव्हा एकामागून एक जाणे एक कंटाळवाणे काम होते. हा सर्वोत्तम पर्याय नाही, लिनक्समध्ये काम अधिक सुलभ करण्यासाठी अनेक मार्ग आहेत आणि आपण एकाच वेळी आवश्यक असलेले सर्व काढून टाकू शकता.

उदाहरणार्थ, आपण केवळ विशिष्ट नावाने प्रारंभ होणारे किंवा विशिष्ट विस्तार असलेले अशाच गोष्टी हटवू शकता. ते सर्व शक्य आहेखरं तर, इतर प्रसंगी मी आधीच एलएक्सएमध्ये तत्सम ट्यूटोरियल दर्शविले आहेत. येथे आपण ट्यूटोरियल चरण चरण अनुसरण करू शकता आणि आपण जतन करू इच्छित त्याव्यतिरिक्त आपल्यास इच्छित असलेल्या सर्व फायली हटविण्यास सोप्या मार्गाने.

आणि सर्वात चांगली गोष्ट म्हणजे ती आपल्याला कोणताही प्रोग्राम स्थापित करण्याची आवश्यकता नाही, हे rm आणि find या कमांडद्वारे सहज करता येते. म्हणजेच, प्रोग्राम जे आधीपासूनच कोणत्याही लिनक्स डिस्ट्रोवर पूर्व-स्थापित केलेले आहेत. आणि अर्थातच, पद्धत आपल्याला शोधण्यासाठी फक्त ते शोधण्यासाठी नमुने शोधण्यात आणि त्या जुळण्यांवर आधारित असेल.

बरं, तेथे दूर करण्यासाठी अनेक पर्याय, ते काय आहेत…

Rm सह डिरेक्टरीमधून फायली काढा

बरं, वापरण्यासाठी rm कमांड आपल्याला काय वाटते ते दूर करण्यासाठी, नमुने ओळखण्याचे काही मार्ग करण्यापूर्वी आपल्याला हे माहित असले पाहिजे:

  • * (नमुन्यांची यादी) - निर्दिष्ट नमुन्यांची शून्य किंवा अधिक घटनांशी जुळते
  • ? (नमुन्यांची यादी) - निर्दिष्ट नमुन्यांची शून्य किंवा एक घटना जुळते
  • + (नमुना यादी) - निर्दिष्ट नमुन्यांची एक किंवा अधिक घटनांशी जुळते
  • @ (नमुना यादी) - निर्दिष्ट नमुन्यांपैकी एकाशी जुळते
  • (नमुना यादी) - दिलेल्या नमुन्यांव्यतिरिक्त कोणत्याही गोष्टीशी जुळते

परिच्छेद एक्टिग्लोब सक्रिय करा त्यांचा वापर करण्यासाठी, आपल्याला प्रथम खालील आज्ञा चालवावी लागेल:

<br data-mce-bogus="1">

shopt -s extglob<br data-mce-bogus="1">

डोळा! मी ते निर्दिष्ट करत नाही, परंतु असे मानले जाते की आपल्याला या ऑपरेशन्स करण्यास परवानगी आहे आणि जेव्हा तुम्ही rm कमांड कार्यान्वित करता तेव्हा आपण त्या निर्देशिकेमध्ये आहात. याविषयी सावधगिरी बाळगा, कारण जर आपण त्यास दुसर्‍या मार्गाने चालवत असाल तर आपण इच्छित नसलेल्या फायली हटवू शकता. म्हणजेच या कमांडस कार्यान्वित करण्यापूर्वी आपण सीडी सह आपल्याला पाहिजे असलेली डिरेक्टरी प्रविष्ट केली असल्याचे सुनिश्चित करा.

आपणास पाहिजे ते काढण्यासाठी आता आपण आरएम वापरू शकता. उदाहरणार्थ, नावाशी जुळणार्‍या फायली वगळता डिरेक्टरीमधून सर्व फाईल्स काढा «Lxa»:

rm -v !("lxa")

आपण निर्दिष्ट करू शकता आपण हटवू इच्छित नाही अशी दोन किंवा अधिक नावे. उदाहरणार्थ, "lxa" आणि "desdelinux" काढून टाकणे टाळण्यासाठी:

 rm -v !("lxa"|"desdelinux") 

आपण सर्व फायली हटवू शकता, वजा करा .mp3. उदाहरणार्थ:

 rm -v !(*.mp3) 

शेवटी, आपण परत जाऊ शकता एक्स्टग्लोब अक्षम करा:

 shopt -u extglob 

शोधासह निर्देशिकेमधून फायली काढा

आरएमचा दुसरा पर्याय आहे आपल्याला पाहिजे असलेल्या सर्व गोष्टी काढण्यासाठी शोधा वापरा. आपण आरएम सह एक पाईप आणि xargs वापरू शकता, किंवा शोधण्यासाठी-हटवा पर्याय वापरू शकता. म्हणजेच, सर्वसामान्य वाक्यरचना असे असेलः

find /directory/ -type f -not -name 'PATRÓN' -delete
find /directory/ -type f -not -name 'PATRÓN' -print0 | xargs -0 -I {} rm [opciones] {}

उदाहरणार्थ, आपल्याला पाहिजे अशी कल्पना करा डिरेक्टरीमधून सर्व फायली विस्तारसह हटवा .jpg, आपण या दोन्ही आदेशांपैकी एक वापरू शकता, कारण त्या दोघांनाही समान निकाल प्राप्त झाला आहे:

find . -type f -not -name '*.jpg'-delete

find . -type f -not -name '*.jpg' -print0 | xargs -0 -I {} rm -v {}

त्याऐवजी, आपण इच्छित असल्यास काही अतिरिक्त नमुना जोडा, आपण देखील करू शकता. उदाहरणार्थ, समजा आपल्याला एखादे निर्देशिका पासून .pdf किंवा .odt काढायचे नाहीः

find . -type f -not \(-name '*pdf' -or -name '*odt' \) -delete

नक्कीच, आपण | मागील उदाहरण प्रमाणे xargs. तसे, आम्ही वापरला आहे -नाकारण्यासाठी नाही, परंतु आपण ते सकारात्मक करण्यासाठी म्हणजेच जुळणारे नमुने काढून टाकण्यासाठी आणि त्यास वगळण्यासाठी काढू शकता.

GLOBIGNORE चल वापरून डिरेक्टरीमधून फायली हटवा

शेवटी, तेथे आहे दुसरा पर्याय शोधण्यासाठी आणि आरएम शोधण्यासाठी आणि आपण काढू किंवा वगळू इच्छित नसलेल्या फायलींकडे निर्देश करण्यासाठी हे वातावरणीय चल वापरत आहे. उदाहरणार्थ, कल्पना करा की आपण डाउनलोड नामक निर्देशिकेतील सर्व फायली हटवू इच्छिता, .pdf, .mp3 आणि .mp4 फायली जतन करा. अशावेळी आपण असे करू शकता:

cd Descargas
GLOBIGNORE=*.pdf:*.mp4:.*mp3
rm -v *
unset GLOBIGNORE


आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटासाठी जबाबदार: AB इंटरनेट नेटवर्क 2008 SL
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.