Ụzọ 3 iji ihichapụ faịlụ niile na ndekọ ma e wezụga otu faịlụ ma ọ bụ ole na ole nwere ndọtị
Mgbe ụfọdụ ị na-abanye n'ọnọdụ ebe ịchọrọ ihichapụ faịlụ niile dị na ndekọ ma ọ bụ kpochaa ndekọ site na iwepu faịlụ niile ma e wezụga faịlụ nke ụdị enyere (na-ejedebe na otu ndọtị).
N'isiokwu a, anyị ga-egosi gị otu esi ehichapụ faịlụ na ndekọ ma e wezụga ụfọdụ ndọtị faịlụ ma ọ bụ ụdị na-eji rm, chọta na globignore iwu.
Tupu anyị aga n'ihu, ka anyị bido site n'ileba anya na nkenke otu echiche dị mkpa na Linux - filename pattern matching, nke ga-enyere anyị aka ịnagide nsogbu anyị dị nso.
Na Linux, ụkpụrụ shei bụ eriri nke nwere mkpụrụedemede pụrụ iche na-esote, nke a na-akpọ kalịnda ma ọ bụ metacharacters:
*
- dabara efu ma ọ bụ mkpụrụedemede karịa?
- dabara otu mkpụrụedemede ọ bụla[seq]
- dabara agwa ọ bụla na seq[!seq]
- dabara agwa ọ bụla anọghị na seq
Enwere ụzọ atọ anyị ga-enyocha ebe a, ndị a gụnyere:
Hichapụ faịlụ site na iji ndị na-arụ ọrụ dakọtara ụkpụrụ
Edepụtara ndị na-ahụ maka ụkpụrụ agbatịgoro dị iche iche n'okpuru ebe a, ebe ndepụta-ụkpụrụ bụ ndepụta nwere otu aha faịlụ ma ọ bụ karịa, kewapụrụ site na iji agwa |
:
*(ndepụta ụkpụrụ)
- dabara efu ma ọ bụ ihe omume karịa nke ụkpụrụ akọwapụtara?(ndepụta ụkpụrụ)
- dakọtara efu ma ọ bụ otu omume nke ụkpụrụ akọwapụtara- +(ndepụta ụkpụrụ) - dakọtara otu ma ọ bụ karịa n'ụkpụrụ ndị akọwapụtara
@(ndepụta ụkpụrụ)
- dabara otu n'ime ụkpụrụ akọwapụtara!(ndepụta ụkpụrụ)
- dabara ihe ọ bụla ma e wezụga otu ụkpụrụ enyere
Iji jiri ha, mee ka nhọrọ extglob shei dị ka ndị a:
# shopt -s extglob
1. Ka ihichapụ faịlụ niile dị na ndekọ ma e wezụga aha faịlụ, pịnye iwu n'okpuru:
$ rm -v !("filename")
2. Ka ihichapụ faịlụ niile ewezuga filename1 na filename2:
$ rm -v !("filename1"|"filename2")
3. Ihe atụ dị n'okpuru na-egosi otu esi ewepụ faịlụ niile na-abụghị faịlụ .zip
niile na mmekọrịta:
$ rm -i !(*.zip)
4. Ọzọ, ị nwere ike ihichapụ faịlụ niile dị na ndekọ na-abụghị faịlụ .zip
na .odt
faịlụ dị ka ndị a, mgbe ị na-egosipụta ihe a na-eme:
$ rm -v !(*.zip|*.odt)
Ozugbo ị nwetara iwu niile achọrọ, gbanyụọ extglob shei nhọrọ dị ka:
$ shopt -u extglob
Hichapụ faịlụ Iji Linux chọta Iwu
N'okpuru usoro a, anyị nwere ike iji chọta naanị na nhọrọ kwesịrị ekwesị ma ọ bụ na njikọ xargs site na iji pipeline dị ka n'ụdị dị n'okpuru:
$ find /directory/ -type f -not -name 'PATTERN' -delete $ find /directory/ -type f -not -name 'PATTERN' -print0 | xargs -0 -I {} rm {} $ find /directory/ -type f -not -name 'PATTERN' -print0 | xargs -0 -I {} rm [options] {}
5. Iwu na-esonụ ga-ehichapụ faịlụ niile na-ewepụ faịlụ .gz
na ndekọ aha ugbu a:
$ find . -type f -not -name '*.gz'-delete
6. Iji pipeline na xargs, ị nwere ike gbanwee ikpe dị n'elu dị ka ndị a:
$ find . -type f -not -name '*gz' -print0 | xargs -0 -I {} rm -v {}
7. Ka anyị leba anya n'otu ihe atụ ọzọ, iwu dị n'okpuru ga-ehichapụ faịlụ niile na-ewepu faịlụ .gz
, .odt
, na .jpg
faịlụ. n'ime ndekọ aha ugbu a:
$ find . -type f -not \(-name '*gz' -or -name '*odt' -or -name '*.jpg' \) -delete
Hichapụ faịlụ site na iji Bash GLOBIGNORE mgbanwe
Otú ọ dị, usoro ikpeazụ a na-arụ ọrụ na bash. N'ebe a, mgbanwe GLOBIGNORE na-echekwa ndepụta nkewapụtara n'ụkpụrụ (aha faịlụ) nke a ga-eleghara anya site na mgbasawanye aha.
Iji were usoro a, banye na ndekọ nke ịchọrọ ihicha, wee tọọ GLOBIGNORE mgbanwe dị ka ndị a:
$ cd test $ GLOBIGNORE=*.odt:*.iso:*.txt
N'ihe atụ a, a ga-ewepụ faịlụ niile na-abụghị .odt
, .iso
na .txt
faịlụ nwere na ndekọ aha ugbu a.
Ugbu a, mee iwu ahụ ka ihichapụ ndekọ ahụ:
$ rm -v *
Emechaa, gbanyụọ GLOBIGNORE mgbanwe:
$ unset GLOBIGNORE
Rịba ama: Iji ghọta ihe ọkọlọtọ ndị e debere n'iwu ndị dị n'elu pụtara, rụtụ aka na ibe nwoke nke iwu ọ bụla anyị jiworo mee ihe n'ihe atụ dị iche iche.
Ọ gwụla! Ọ bụrụ na ị nwere usoro ahịrị iwu ọ bụla n'uche maka otu ebumnuche, echefula ịkọrọ anyị site na ngalaba nzaghachi anyị n'okpuru.