ஒரு கோப்பகத்தில் உள்ள கோப்புகளில் ஒன்றைத் தவிர அனைத்தையும் நீக்குவது எப்படி

லினக்ஸ் கோப்புகளை நீக்கு

சில நேரங்களில் உங்களுக்கு தேவை ஒரு கோப்பகத்திலிருந்து கிட்டத்தட்ட எல்லா கோப்புகளையும் அகற்றவும், ஆனால் அவற்றில் ஒன்று அல்லது சிலவற்றை நீங்கள் வைத்திருக்க விரும்புகிறீர்கள். அவற்றில் அதிக எண்ணிக்கையில் இருக்கும்போது, ​​ஒவ்வொன்றாக செல்வது கடினமான பணியாகும். இது சிறந்த வழி அல்ல, லினக்ஸில் வேலையை மிகவும் எளிதாக்குவதற்கான வழிகள் உள்ளன, மேலும் உங்களுக்கு தேவையான அனைத்தையும் ஒரே நேரத்தில் அகற்றலாம்.

எடுத்துக்காட்டாக, ஒரு குறிப்பிட்ட பெயருடன் தொடங்கும் அல்லது ஒரு குறிப்பிட்ட நீட்டிப்பைக் கொண்டவற்றை மட்டுமே நீக்க விரும்பலாம். அதெல்லாம் சாத்தியம்உண்மையில், மற்ற சந்தர்ப்பங்களில் நான் ஏற்கனவே LxA இல் இதே போன்ற பயிற்சிகளைக் காட்டியுள்ளேன். இங்கே நீங்கள் படிப்படியாக டுடோரியலைப் பின்பற்றலாம் மற்றும் நீங்கள் சேமிக்க விரும்புவதைத் தவிர, நீங்கள் விரும்பும் எல்லா கோப்புகளையும் நீக்க முடியும்.

மற்றும் சிறந்த விஷயம் அது நீங்கள் எந்த நிரலையும் நிறுவ தேவையில்லை, rm மற்றும் find போன்ற கட்டளைகளால் எளிதாக செய்ய முடியும். அதாவது, எந்த லினக்ஸ் டிஸ்ட்ரோவிலும் முன்பே நிறுவப்பட்ட நிரல்கள். நிச்சயமாக, முறை வடிவங்களைக் கண்டுபிடிப்பதன் அடிப்படையிலும், நீங்கள் விரும்புவதை மட்டும் அகற்ற அந்த போட்டிகளைப் பயன்படுத்துவதன் அடிப்படையிலும் இருக்கும்.

சரி, அங்கு அகற்றுவதற்காக பல மாற்றுகள், அவை என்ன…

Rm உடன் ஒரு கோப்பகத்திலிருந்து கோப்புகளை அகற்று

சரி, பயன்படுத்த rm கட்டளை நீங்கள் என்ன நினைக்கிறீர்கள் என்பதை அகற்ற, வடிவங்களை அடையாளம் காண சில வழிகளுக்கு முன் நீங்கள் தெரிந்து கொள்ள வேண்டும்:

  • * (வடிவங்களின் பட்டியல்) - குறிப்பிட்ட வடிவங்களின் பூஜ்ஜியம் அல்லது அதற்கு மேற்பட்ட நிகழ்வுகளுடன் பொருந்துகிறது
  • ? (வடிவங்களின் பட்டியல்) - பூஜ்ஜியத்துடன் பொருந்துகிறது அல்லது குறிப்பிட்ட வடிவங்களின் ஒரு நிகழ்வு
  • + (மாதிரி பட்டியல்) - குறிப்பிட்ட வடிவங்களின் ஒன்று அல்லது அதற்கு மேற்பட்ட நிகழ்வுகளுடன் பொருந்துகிறது
  • pattern (மாதிரி பட்டியல்) - குறிப்பிட்ட வடிவங்களில் ஒன்றோடு பொருந்துகிறது
  • ! (மாதிரி பட்டியல்) - கொடுக்கப்பட்ட வடிவங்களில் ஒன்றைத் தவிர வேறு எதையும் பொருத்துகிறது

பாரா extglob ஐ இயக்கு அவற்றைப் பயன்படுத்த, நீங்கள் முதலில் பின்வரும் கட்டளையை இயக்க வேண்டும்:

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

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

கண்! நான் அதைக் குறிப்பிடவில்லை, ஆனால் இந்தச் செயல்களைச் செய்ய உங்களுக்கு அனுமதி உண்டு என்றும், நீங்கள் rm கட்டளையை இயக்கும்போது அந்த அடைவுக்குள் இருப்பதாகவும் கருதப்படுகிறது. இதை கவனமாக இருங்கள், ஏனென்றால் நீங்கள் அதை வேறு பாதையில் இயக்கினால், நீங்கள் விரும்பாத கோப்புகளை நீக்குவதை முடிக்கலாம். அதாவது, இந்த கட்டளைகளை இயக்குவதற்கு முன், நீங்கள் விரும்பும் கோப்பகத்தை சி.டி.யுடன் உள்ளிட்டுள்ளீர்கள் என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள்.

இப்போது நீங்கள் எதை வேண்டுமானாலும் அகற்ற rm ஐப் பயன்படுத்தலாம். உதாரணத்திற்கு, பெயருடன் பொருந்தக்கூடிய கோப்புகளைத் தவிர அனைத்து கோப்புகளையும் ஒரு கோப்பகத்திலிருந்து அகற்றவும் «Lxa»:

rm -v !("lxa")

நீங்கள் குறிப்பிடலாம் நீங்கள் நீக்க விரும்பாத இரண்டு அல்லது அதற்கு மேற்பட்ட பெயர்கள். எடுத்துக்காட்டாக, "lxa" மற்றும் "desdelinux" ஐ அகற்றுவதைத் தவிர்க்க:

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

நீங்கள் எல்லா கோப்புகளையும் நீக்கலாம், நீட்டிப்பு உள்ளவர்களுக்கு கழித்தல் .mp3. உதாரணத்திற்கு:

 rm -v !(*.mp3) 

முடிவில், நீங்கள் மீண்டும் செல்லலாம் extglob ஐ முடக்கு:

 shopt -u extglob 

கண்டுபிடிப்புடன் கோப்பகத்திலிருந்து கோப்புகளை அகற்று

Rm க்கு மற்றொரு மாற்று நீங்கள் விரும்பும் எதையும் அகற்ற கண்டுபிடி. நீங்கள் rm உடன் ஒரு குழாய் மற்றும் xargs ஐப் பயன்படுத்தலாம் அல்லது கண்டுபிடிக்க -delete விருப்பத்தைப் பயன்படுத்தலாம். அதாவது, பொதுவான தொடரியல்:

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 மாறியைப் பயன்படுத்தி ஒரு கோப்பகத்திலிருந்து கோப்புகளை நீக்கு

இறுதியாக, உள்ளது மற்றொரு மாற்று கண்டுபிடித்து rm செய்ய, நீங்கள் அகற்ற அல்லது விலக்க விரும்பும் கோப்புகளை சுட்டிக்காட்ட இது ஒரு சூழல் மாறியைப் பயன்படுத்துகிறது. எடுத்துக்காட்டாக, .pdf, .mp3 மற்றும் .mp4 கோப்புகளைச் சேமித்து, பதிவிறக்கங்கள் எனப்படும் கோப்பகத்தில் உள்ள எல்லா கோப்புகளையும் நீக்க விரும்புகிறீர்கள் என்று கற்பனை செய்து பாருங்கள். அவ்வாறான நிலையில், நீங்கள் பின்வருவனவற்றைச் செய்யலாம்:

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


உங்கள் கருத்தை தெரிவிக்கவும்

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது. தேவையான புலங்கள் குறிக்கப்பட்டிருக்கும் *

*

*

  1. தரவுகளுக்குப் பொறுப்பு: AB இன்டர்நெட் நெட்வொர்க்ஸ் 2008 SL
  2. தரவின் நோக்கம்: கட்டுப்பாட்டு ஸ்பேம், கருத்து மேலாண்மை.
  3. சட்டபூர்வமாக்கல்: உங்கள் ஒப்புதல்
  4. தரவின் தொடர்பு: சட்டபூர்வமான கடமையால் தவிர மூன்றாம் தரப்பினருக்கு தரவு தெரிவிக்கப்படாது.
  5. தரவு சேமிப்பு: ஆக்சென்டஸ் நெட்வொர்க்குகள் (EU) வழங்கிய தரவுத்தளம்
  6. உரிமைகள்: எந்த நேரத்திலும் உங்கள் தகவல்களை நீங்கள் கட்டுப்படுத்தலாம், மீட்டெடுக்கலாம் மற்றும் நீக்கலாம்.