Ngwa CLI 6 kacha mma iji chọọ data dị larịị-ederede site na iji nkwupụta oge niile


Ntuziaka a na-elegharị anya na ụfọdụ ngwa iwu-ahịrị kacha mma nke a na-eji achọ eriri ma ọ bụ ụkpụrụ dabara na faịlụ ederede. A na-ejikarị ngwaọrụ ndị a n'akụkụ okwu oge niile - dị mkpụmkpụ dị ka REGEX - nke bụ eriri pụrụ iche maka ịkọwa usoro ọchụchọ.

Na-enweghị nnukwu agụụ ọzọ, ka anyị banye n'ime.

1. Grep Iwu

Na-abịa na mbụ bụ ngwá ọrụ grep utility - bụ okwu okwu maka Global Regular Expression Print, bụ ngwá ọrụ iwu dị ike nke na-abịa mgbe ị na-achọ otu eriri ma ọ bụ ụkpụrụ na faịlụ.

Ụgbọ mmiri Grep nwere nkesa Linux ọgbara ọhụrụ na ndabara ma nye gị mgbanwe iji weghachi nsonaazụ ọchụchọ dị iche iche. Site na grep, ị nwere ike ịrụ ọtụtụ ọrụ dị ka:

  • Chọọ maka eriri ma ọ bụ ụkpụrụ dakọtara na faịlụ.
  • Chọọ maka eriri ma ọ bụ ụkpụrụ dakọtara na faịlụ Gzipped.
  • Gụọ ọnụ ọgụgụ nke eriri eriri.
  • Bipụta nọmba ahịrị nwere eriri ma ọ bụ ụkpụrụ.
  • Chọọ ugboro ugboro maka eriri na akwụkwọ ndekọ aha.
  • Mee nchọgharị azụ (ya bụ Gosipụta rịzọlt nke eriri anaghị adaba na njirisi ọchụchọ).
  • Eleghara uche ikpe mgbe ị na-achọ eriri.

Okwu syntax maka iji iwu grep dị mfe:

$ grep pattern FILE

Dịka ọmụmaatụ, ka ịchọọ eriri 'Linux' na faịlụ, kwuo, hello.txt mgbe ị na-eleghara mmetụta ikpe anya, mee iwu:

$ grep -i Linux hello.txt

Iji nweta nhọrọ ndị ọzọ ị nwere ike iji na grep, naanị gụọ akụkọ anyị nke atụ ihe atụ iwu grep dị elu karịa.

2. sed Iwu

ederede aghụghọ na faịlụ ederede. Sed na-achọ, nzacha ma dochie eriri n'ime faịlụ enyere n'ụzọ anaghị emekọrịta ihe.

Site na ndabara, iwu sed na-ebipụta mmepụta na STDOUT (Standard Out), na-egosi na a na-ebipụta nsonaazụ ogbugbu ahụ na njedebe kama ịchekwa ya na faịlụ.

A na-akpọku iwu Sed dị ka ndị a:

$ sed -OPTIONS command [ file to be edited ]

Dịka ọmụmaatụ, iji dochie ọnọdụ 'Unix' na 'Linux', kpọọ iwu a:

$ sed 's/Unix/Linux' hello.txt

Ọ bụrụ na ị chọrọ redirect mmepụta kama ibipụta ya na ọnụ, jiri akara redirection ( > ) dị ka egosiri.

$ sed 's/Unix/Linux' hello.txt > output.txt

A na-echekwa mmepụta nke iwu ahụ na faịlụ mmepụta.txt kama ibipụta ya na ihuenyo.

Iji lelee nhọrọ ndị ọzọ enwere ike iji, lelee ibe nwoke ọzọ.

$ man sed

3. Ack Command

Ack bụ ngwa ahịrị iwu ngwa ngwa na obere ibu nke edere na Perl. A na-ahụta Ack dị ka nnọchi enyi na enyi maka ịba uru grep yana wepụta nsonaazụ n'ụzọ mara mma.

Iwu Ack na-achọ faịlụ ma ọ bụ ndekọ aha maka ahịrị ndị nwere dakọtara maka njirisi ọchụchọ. Ọ na-egosipụtakwa eriri dabara na ahịrị.
Ack nwere ikike ịmata ọdịiche nke faịlụ dabere na ndọtị faịlụ ha, yana ruo n'ókè ụfọdụ, ọdịnaya dị na faịlụ ahụ.

Ack Command syntax:

$ ack [options] PATTERN [FILE...]
$ ack -f [options] [DIRECTORY...]

Dịka ọmụmaatụ, ka ịlele maka okwu ọchụchọ Linux, gbaa ọsọ:

$ ack Linux hello.txt

Ngwá ọrụ ọchụchọ ahụ nwere ọgụgụ isi ma ọ bụrụ na onye ọrụ enyeghị faịlụ ma ọ bụ akwụkwọ ndekọ aha, ọ na-achọ akwụkwọ ndekọ aha na subdirectories ugbu a maka usoro ọchụchọ ahụ.

N'ọmụmatụ dị n'okpuru, ọ nweghị faịlụ ma ọ bụ akwụkwọ ndekọ aha enyela, mana ack achọpụtala faịlụ dị na akpaghị aka wee chọọ ụkpụrụ dabara adaba enyere.

$ ack Linux

Iji wụnye ack na sistemụ gị, gbanye iwu:

$ sudo apt install ack-grep    [On Debian/Ubuntu]
$ sudo dnf install ack-grep    [On CentOS/RHEL]

4. Awk Iwu

Awk bụ asụsụ edemede zuru oke yana ngwa nhazi ederede yana ngwa data. Ọ na-achọ faịlụ ma ọ bụ mmemme nwere ụkpụrụ ọchụchọ. Mgbe achọtara eriri ma ọ bụ ụkpụrụ ahụ, awk na-eme ihe na egwuregwu ma ọ bụ ahịrị wee bipụta nsonaazụ ya na STDOUT.

A na-akụchi ụkpụrụ AWK n'etiti ihe nkwado na-agbagọ ebe a na-emechi mmemme niile n'otu ngụkọ.

Ka anyị were ihe atụ kachasị mfe. Ka anyị were ya na ị na-ebipụta ụbọchị sistemụ gị dị ka egosiri:

$ date

Were ya na ị chọrọ naanị ibipụta uru mbụ, nke bụ ụbọchị izu. N'ọnọdụ ahụ, gbanye mmepụta ahụ n'ime awk dị ka egosiri:

$ date | awk '{print $1}'

Iji gosi ụkpụrụ ndị na-esote, kewaa ha site na iji rikoma dị ka egosiri:

$ date | awk '{print $1,$2}'

Iwu dị n'elu ga-egosipụta ụbọchị nke izu na ụbọchị nke ọnwa.

Iji nweta nhọrọ ndị ọzọ ị nwere ike iji na awk, naanị gụọ usoro iwu awk anyị.

5. Onye na-achọ ọla ọcha

Onye na-achọ ọlaọcha bụ ihe nchọgharị obe na koodu opensource dị ka ack mana na-emesi ike na ọsọ. Ọ na-eme ka ọ dịrị gị mfe ịchọ otu eriri n'ime faịlụ n'ime obere oge enwere ike:

Syntax:

$ ag OPTIONS search_pattern /path/to/file

Dịka ọmụmaatụ, ka ịchọọ eriri 'Linux' na faịlụ hello.txt, kpọọ iwu a:

$ ag Linux hello.txt

Maka nhọrọ ndị ọzọ, gaa na ibe nwoke:

$ man ag

6. Ripgrep

N'ikpeazụ, anyị nwere ngwá ọrụ ahịrị iwu ripgrep. Ripgrep bụ akụrụngwa cross-platform maka ịchọ usoro regex. Ọ na-adị ngwa ngwa karịa ngwa nchọta niile a kpọtụrụ aha na mbụ ma na-achọgharị akwụkwọ ndekọ aha maka usoro dabara adaba. N'ihe gbasara ọsọ na arụmọrụ, ọ nweghị ngwá ọrụ ọzọ pụtara na Ripgrep.

Site na ndabara, ripgrep ga-awụpụ faịlụ ọnụọgụ abụọ/faịlụ zoro ezo na akwụkwọ ndekọ aha. Ọzọkwa, dụrụ ọdụ na na ndabara ọ gaghị achọ faịlụ ndị .gitignore/.ignore/.rgignore faịlụ na-eleghara anya.

Ripgrep na-enyekwa gị ohere ịchọ ụdị faịlụ akọwapụtara. Dịka ọmụmaatụ, ka ịmachi ọchụchọ gị na faịlụ Javascript na-agba ọsọ:

$ rg -Tsj

Syntax maka iji ripgrep dị mfe:

$ rg [OPTIONS] PATTERN [PATH...]

Ọmụmaatụ. Ka ịchọọ ihe atụ nke eriri 'Linux' na faịlụ ndị dị n'ime ndekọ aha ugbu a, mee iwu:

$ rg Linux

Iji wụnye ripgrep na sistemụ gị gbasoro iwu ndị a:

$ sudo apt install ripgrep      [On Debian/Ubuntu]
$ sudo pacman -S ripgrep        [On Arch Linux]
$ sudo zypper install ripgrep   [On OpenSuse]
$ sudo dnf install ripgrep      [On CentOS/RHEL/Fedora]

Maka nhọrọ ndị ọzọ, gaa na ibe nwoke:

$ man rg

Ndị a bụ ụfọdụ ngwa ahịrị iwu a na-ejikarị eme ihe maka ịchọ, nzacha, na ijikwa ederede na Linux. Ọ bụrụ na ị nwere ngwaọrụ ndị ọzọ ị chere na anyị ahapụla, mee ka anyị mara na ngalaba nkọwa.