ಕೆಲವೊಮ್ಮೆ ನಿಮಗೆ ಬೇಕಾಗುತ್ತದೆ ಡೈರೆಕ್ಟರಿಯಿಂದ ಬಹುತೇಕ ಎಲ್ಲಾ ಫೈಲ್ಗಳನ್ನು ತೆಗೆದುಹಾಕಿ, ಆದರೆ ಅವುಗಳಲ್ಲಿ ಒಂದನ್ನು ಅಥವಾ ಕೆಲವನ್ನು ನೀವು ಇರಿಸಿಕೊಳ್ಳಲು ಬಯಸುತ್ತೀರಿ. ಅವುಗಳಲ್ಲಿ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯಲ್ಲಿರುವಾಗ, ಒಂದೊಂದಾಗಿ ಹೋಗುವುದು ಬೇಸರದ ಕೆಲಸ. ಇದು ಅತ್ಯುತ್ತಮ ಆಯ್ಕೆಯಾಗಿಲ್ಲ, ಲಿನಕ್ಸ್ನಲ್ಲಿ ಕೆಲಸವನ್ನು ಹೆಚ್ಚು ಸುಲಭಗೊಳಿಸುವ ಮಾರ್ಗಗಳಿವೆ ಮತ್ತು ನಿಮಗೆ ಅಗತ್ಯವಿರುವ ಎಲ್ಲವನ್ನು ಒಮ್ಮೆಗೇ ತೆಗೆದುಹಾಕಬಹುದು.
ಉದಾಹರಣೆಗೆ, ನಿರ್ದಿಷ್ಟ ಹೆಸರಿನೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗುವ ಅಥವಾ ನಿರ್ದಿಷ್ಟ ವಿಸ್ತರಣೆಯನ್ನು ಹೊಂದಿರುವಂತಹವುಗಳನ್ನು ಮಾತ್ರ ತೆಗೆದುಹಾಕಲು ನೀವು ಬಯಸಬಹುದು. ಅದೆಲ್ಲವೂ ಸಾಧ್ಯವಾಸ್ತವವಾಗಿ, ಇತರ ಸಂದರ್ಭಗಳಲ್ಲಿ ನಾನು ಈಗಾಗಲೇ LxA ಯಲ್ಲಿ ಇದೇ ರೀತಿಯ ಟ್ಯುಟೋರಿಯಲ್ ತೋರಿಸಿದ್ದೇನೆ. ಇಲ್ಲಿ ನೀವು ಟ್ಯುಟೋರಿಯಲ್ ಹಂತ ಹಂತವಾಗಿ ಮತ್ತು ಸರಳ ರೀತಿಯಲ್ಲಿ ನೀವು ಉಳಿಸಲು ಬಯಸುವದನ್ನು ಹೊರತುಪಡಿಸಿ ನಿಮಗೆ ಬೇಕಾದ ಎಲ್ಲಾ ಫೈಲ್ಗಳನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.
ಮತ್ತು ಒಳ್ಳೆಯದು ಅದು ನೀವು ಯಾವುದೇ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಸ್ಥಾಪಿಸುವ ಅಗತ್ಯವಿಲ್ಲ, ಇದನ್ನು rm ಮತ್ತು find ನಂತಹ ಆಜ್ಞೆಗಳೊಂದಿಗೆ ಸುಲಭವಾಗಿ ಮಾಡಬಹುದು. ಅಂದರೆ, ಯಾವುದೇ ಲಿನಕ್ಸ್ ಡಿಸ್ಟ್ರೊದಲ್ಲಿ ಈಗಾಗಲೇ ಮೊದಲೇ ಸ್ಥಾಪಿಸಲಾದ ಪ್ರೋಗ್ರಾಂಗಳು. ಮತ್ತು ಸಹಜವಾಗಿ ವಿಧಾನವು ಮಾದರಿಗಳನ್ನು ಕಂಡುಹಿಡಿಯುವುದನ್ನು ಆಧರಿಸಿರುತ್ತದೆ ಮತ್ತು ನಿಮಗೆ ಬೇಕಾದುದನ್ನು ಮಾತ್ರ ತೆಗೆದುಹಾಕಲು ಆ ಪಂದ್ಯಗಳನ್ನು ಬಳಸುತ್ತದೆ.
ಸರಿ, ಅಲ್ಲಿ ನಿರ್ಮೂಲನೆ ಮಾಡಲು ಹಲವಾರು ಪರ್ಯಾಯಗಳು, ಅವು ಯಾವುವು…
Rm ನೊಂದಿಗೆ ಡೈರೆಕ್ಟರಿಯಿಂದ ಫೈಲ್ಗಳನ್ನು ತೆಗೆದುಹಾಕಿ
ಸರಿ, ಬಳಸಲು rm ಆಜ್ಞೆ ನಿಮಗೆ ಅನಿಸಿಕೆಗಳನ್ನು ತೊಡೆದುಹಾಕಲು, ಮಾದರಿಗಳನ್ನು ಗುರುತಿಸಲು ಕೆಲವು ಮಾರ್ಗಗಳ ಮೊದಲು ನೀವು ತಿಳಿದುಕೊಳ್ಳಬೇಕು:
- * (ಮಾದರಿಗಳ ಪಟ್ಟಿ) - ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಮಾದರಿಗಳ ಶೂನ್ಯ ಅಥವಾ ಹೆಚ್ಚಿನ ಘಟನೆಗಳಿಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ
- ? (ಮಾದರಿಗಳ ಪಟ್ಟಿ) - ಶೂನ್ಯ ಅಥವಾ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಮಾದರಿಗಳ ಒಂದು ಘಟನೆಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ
- + (ಮಾದರಿ ಪಟ್ಟಿ) - ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಮಾದರಿಗಳ ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಘಟನೆಗಳಿಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ
- pattern (ಮಾದರಿ ಪಟ್ಟಿ) - ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಮಾದರಿಗಳಲ್ಲಿ ಒಂದಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ
- ! (ಮಾದರಿ ಪಟ್ಟಿ) - ಕೊಟ್ಟಿರುವ ಒಂದು ಮಾದರಿಯನ್ನು ಹೊರತುಪಡಿಸಿ ಯಾವುದಕ್ಕೂ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ
ಪ್ಯಾರಾ extglob ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ ಅವುಗಳನ್ನು ಬಳಸಲು, ನೀವು ಮೊದಲು ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬೇಕು:
<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)
ಕೊನೆಯಲ್ಲಿ, ನೀವು ಹಿಂತಿರುಗಬಹುದು 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] {}
ಉದಾಹರಣೆಗೆ, ನಿಮಗೆ ಬೇಕಾದುದನ್ನು imagine ಹಿಸಿ ವಿಸ್ತರಣೆಯನ್ನು ಹೊಂದಿರುವ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿನ ಎಲ್ಲಾ ಫೈಲ್ಗಳನ್ನು ಅಳಿಸಿ .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 ಫೈಲ್ಗಳನ್ನು ಉಳಿಸಿ, ಡೌನ್ಲೋಡ್ಗಳು ಎಂಬ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿನ ಎಲ್ಲಾ ಫೈಲ್ಗಳನ್ನು ಅಳಿಸಲು ನೀವು ಬಯಸುತ್ತೀರಿ ಎಂದು imagine ಹಿಸಿ. ಅಂತಹ ಸಂದರ್ಭದಲ್ಲಿ, ನೀವು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಮಾಡಬಹುದು:
cd Descargas GLOBIGNORE=*.pdf:*.mp4:.*mp3 rm -v * unset GLOBIGNORE