કેટલીકવાર તમને જરૂર હોય છે ડિરેક્ટરીમાંથી લગભગ બધી ફાઇલો કા .ી નાખો, પરંતુ તમે તેમાંના એક અથવા કેટલાકને રાખવા માંગો છો. જ્યારે તેમાં મોટી સંખ્યા હોય ત્યારે એક પછી એક જવું એ કંટાળાજનક કાર્ય છે. તે શ્રેષ્ઠ વિકલ્પ નથી, લિનક્સમાં કાર્ય વધુ સરળ બનાવવાની રીતો છે અને તમે એક જ સમયે તમને જોઈતા બધાને દૂર કરી શકો છો.
ઉદાહરણ તરીકે, તમે ફક્ત તે જ કા removeી શકો છો જે કોઈ ચોક્કસ નામથી પ્રારંભ થાય છે, અથવા જેનું વિશિષ્ટ એક્સ્ટેંશન છે, અને તેથી વધુ. તે બધું શક્ય છેહકીકતમાં, અન્ય પ્રસંગોએ મેં LxA માં પહેલાથી જ સમાન ટ્યુટોરિયલ્સ બતાવ્યા છે. અહીં તમે ટ્યુટોરિયલ સ્ટેપ બાય સ્ટેપ અને સરળ રીતે તમે ઇચ્છો તે બધી ફાઇલોને ડિલીટ કરવા માટે સક્ષમ થવા માટે, તમે જે સાચવવા માંગો છો તે સિવાય તમે અનુસરી શકો છો.
અને શ્રેષ્ઠ વસ્તુ તે છે તમારે કોઈ પ્રોગ્રામ ઇન્સ્ટોલ કરવાની જરૂર રહેશે નહીં, તે rm અને find જેવા આદેશોથી સરળતાથી કરી શકાય છે. તે છે, પ્રોગ્રામ્સ કે જે કોઈપણ લિનક્સ ડિસ્ટ્રો પર પહેલાથી ઇન્સ્ટોલ કરેલા છે. અને અલબત્ત, પદ્ધતિ ફક્ત જે જોઈએ છે તે દૂર કરવા માટે દાખલાઓ શોધવા અને તે મેચનો ઉપયોગ કરવા પર આધારિત હશે.
સારું, ત્યાં નાબૂદ કરવા માટે કેટલાક વિકલ્પો, તેઓ શું છે ...
આરએમ સાથેની ડિરેક્ટરીમાંથી ફાઇલોને દૂર કરો
વેલ, ક્રમમાં વાપરવા માટે rm આદેશ તમને જેવું લાગે છે તે દૂર કરવા માટે, દાખલાની ઓળખ કરવાની કેટલીક રીતો પહેલાં તમારે જાણવું પડશે:
- * (દાખલાની સૂચિ) - ઉલ્લેખિત દાખલાની શૂન્ય અથવા વધુ ઘટનાઓ સાથે મેળ ખાય છે
- ? (દાખલાની સૂચિ) - નિર્દિષ્ટ દાખલાની શૂન્ય અથવા એક ઘટના સાથે મેળ ખાય છે
- + (પેટર્ન સૂચિ) - ઉલ્લેખિત દાખલાની એક અથવા વધુ ઘટનાઓ સાથે મેળ ખાય છે
- @ (પેટર્ન સૂચિ) - ઉલ્લેખિત દાખલાની એક સાથે મેળ ખાય છે
- (પેટર્ન સૂચિ) - આપેલ પેટર્નમાંથી એક સિવાય કંઈપણ મેળ ખાય છે
પેરા એક્સ્ટ્લોબને સક્ષમ કરો તેનો ઉપયોગ કરવા માટે, તમારે પહેલા નીચેની આદેશ ચલાવવી પડશે:
<br data-mce-bogus="1"> shopt -s extglob<br data-mce-bogus="1">
તમે ઇચ્છો તે દૂર કરવા માટે હવે તમે rm નો ઉપયોગ કરી શકો છો. દાખ્લા તરીકે, નામ સાથે મેળ ખાતી ફાઇલો સિવાય ડિરેક્ટરીમાંથી બધી ફાઇલોને દૂર કરો «Lxa»:
rm -v !("lxa")
તમે પણ સ્પષ્ટ કરી શકો છો બે અથવા વધુ નામો કે જેને તમે કા toી નાખવા માંગતા નથી. ઉદાહરણ તરીકે, "lxa" અને "desdelinux" ને દૂર કરવાનું ટાળવા માટે:
rm -v !("lxa"|"desdelinux")
તમે બધી ફાઇલો કા deleteી શકો છો, એક્સ્ટેંશનવાળા બાદબાકી .mp3. દાખ્લા તરીકે:
rm -v !(*.mp3)
અંતે, તમે પાછા જઈ શકો છો એક્સ્ટ્લોલોબ અક્ષમ કરો:
shopt -u extglob
ડિરેક્ટરીમાંથી ફાઇલોને શોધો સાથે દૂર કરો
આરએમનો બીજો વિકલ્પ છે તમે જે પણ કલ્પના કરો છો તેને દૂર કરવા માટે શોધનો ઉપયોગ કરો. તમે rm સાથે પાઇપ અને xargs નો ઉપયોગ કરી શકો છો, અથવા શોધવા માટે -ડલીટ વિકલ્પનો ઉપયોગ કરી શકો છો. એટલે કે, સામાન્ય સિન્ટેક્સ આ હશે:
find /directory/ -type f -not -name 'PATRÓN' -delete find /directory/ -type f -not -name 'PATRÓN' -print0 | xargs -0 -I {} rm [opciones] {}
ઉદાહરણ તરીકે, કલ્પના કરો કે તમે ઇચ્છો છો એક્સ્ટેંશનવાળી ફાઇલ સિવાય ડિરેક્ટરીમાંથી બધી ફાઇલો કા deleteી નાખો .jpg, તમે આ બંને આદેશોમાંથી એકનો ઉપયોગ કરી શકશો, કેમ કે તે બંનેને એકસરખું પરિણામ મળે છે:
find . -type f -not -name '*.jpg'-delete find . -type f -not -name '*.jpg' -print0 | xargs -0 -I {} rm -v {}
તેના બદલે, જો તમે ઇચ્છતા હો કેટલાક વધારાના પેટર્ન ઉમેરો, તમે પણ કરી શકે છે. ઉદાહરણ તરીકે, ધારો કે તમે ડિરેક્ટરીમાંથી .pdf અથવા .odt ને કા removeવા નથી માંગતા:
find . -type f -not \(-name '*pdf' -or -name '*odt' \) -delete
અલબત્ત, તમે | સાથે આ જ કરી શક્યા અને xargs પહેલાના ઉદાહરણની જેમ. માર્ગ દ્વારા, અમે ઉપયોગ કર્યો છે -નકાર કરવા નહીં, પરંતુ તમે તેને હકારાત્મક બનાવવા માટે, એટલે કે મેચિંગ પેટર્નને દૂર કરવા અને તેને બાકાત ન રાખવા માટે દૂર કરી શકો છો.
ગ્લોબિગ્નOREર ચલનો ઉપયોગ કરીને ડિરેક્ટરીમાંથી ફાઇલો કા Deleteી નાખો
છેલ્લે, ત્યાં છે બીજો વિકલ્પ શોધવા અને આરએમ કરવા માટે, અને તે તમે દૂર કરવા અથવા બાકાત રાખવા માંગતા હો તે ફાઇલો તરફ નિર્દેશ કરવા માટે પર્યાવરણ ચલનો ઉપયોગ કરી રહ્યા છે. ઉદાહરણ તરીકે, કલ્પના કરો કે તમે .pdf, .mp3 અને .mp4 ફાઇલોને સાચવીને ડાઉનલોડ્સ નામની ડિરેક્ટરીમાંની બધી ફાઇલોને કા deleteી નાખવા માંગો છો. તે કિસ્સામાં, તમે નીચેની બાબતો કરી શકો છો:
cd Descargas GLOBIGNORE=*.pdf:*.mp4:.*mp3 rm -v * unset GLOBIGNORE