Nishaɗi a cikin Linux Terminal - Yi wasa tare da Ƙididdiga na Kalma da Halaye


Layin umarni na Linux yana da nishaɗi da yawa a kusa da kansa kuma ana iya aiwatar da ayyuka masu wahala da yawa cikin sauƙi duk da haka tare da kamala. Yin wasa da kalmomi da haruffa, mitar su a cikin fayil ɗin rubutu, da sauransu shine abin da za mu gani a cikin wannan labarin.

Iyakar umarni da ke zuwa a zuciyarmu, don tweaking layin umarni na Linux don sarrafa kalmomi da haruffa daga fayil ɗin rubutu shine umarnin wc.

Umurnin 'wc' wanda ke tsaye ga ƙidayar kalma yana da ikon Buga Sabon layi, kirga kalma & byte daga fayil ɗin rubutu.

Don yin aiki tare da ƙananan rubutun don nazarin fayil ɗin rubutu, dole ne mu sami fayil ɗin rubutu. Don kiyaye daidaito, muna ƙirƙirar fayil ɗin rubutu tare da fitowar umarnin mutum, kamar yadda aka bayyana a ƙasa.

$ man man > man.txt

Umurnin da ke sama ya ƙirƙiri fayil ɗin rubutu 'man.txt' tare da abun ciki na 'shafin hannun' don umarnin' mutum'.

Muna son bincika kalmomin gama gari, a cikin sama da aka ƙirƙira 'Fayil ɗin Rubutu' ta hanyar gudanar da rubutun da ke ƙasa.

$ cat man.txt | tr ' '  '2' | tr '[:upper:]' '[:lower:]' | tr -d '[:punct:]' | grep -v '[^a-z]' | sort | uniq -c | sort -rn | head
7557 
262 the 
163 to 
112 is 
112 a 
78 of 
78 manual 
76 and 
64 if 
63 be

Rubutun layi na sama ɗaya mai sauƙi yana nuna, kalmomi goma da suka fi fitowa akai-akai da yawan fitowarsu, a cikin fayil ɗin rubutu.

Ta yaya game da rushe kalma zuwa mutum ɗaya ta amfani da umarni mai zuwa.

$ echo 'tecmint team' | fold -w1
t 
e 
c 
m 
i 
n 
t 
t 
e 
a 
m

Lura: Anan, '-w1' don nisa ne.

Yanzu za mu karya kowace kalma ɗaya a cikin fayil ɗin rubutu, jera sakamakon sannan mu sami abin da ake so tare da mitar haruffa goma mafi yawan lokuta.

$ fold -w1 < man.txt | sort | uniq -c | sort -rn | head
8579  
2413 e
1987 a
1875 t
1644 i
1553 n
1522 o
1514 s
1224 r
1021 l

Yaya game da samun mafi yawan haruffa a cikin fayil ɗin rubutu tare da manyan haruffa da ƙananan haruffa daban-daban tare da mitar faruwarsu.

$ fold -w1 < man.txt | sort | tr '[:lower:]' '[:upper:]' | uniq -c | sort -rn | head -20
11636  
2504 E 
2079 A 
2005 T 
1729 I 
1645 N 
1632 S 
1580 o
1269 R 
1055 L 
836 H 
791 P 
766 D 
753 C 
725 M 
690 U 
605 F 
504 G 
352 Y 
344 .

Duba fitar da ke sama, inda aka haɗa alamar rubutu. Bari mu cire alamar rubutu, tare da umarnin 'tr'. Mu je zuwa:

$ fold -w1 < man.txt | tr '[:lower:]' '[:upper:]' | sort | tr -d '[:punct:]' | uniq -c | sort -rn | head -20
  11636  
  2504 E 
  2079 A 
  2005 T 
  1729 I 
  1645 N 
  1632 S 
  1580 O 
  1550 
  1269 R 
  1055 L 
   836 H 
   791 P 
   766 D 
   753 C 
   725 M 
   690 U 
   605 F 
   504 G 
   352 Y

Yanzu ina da fayilolin rubutu guda uku, bari mu gudanar da rubutun layi ɗaya na sama don ganin fitarwa.

$ cat *.txt | fold -w1 | tr '[:lower:]' '[:upper:]' | sort | tr -d '[:punct:]' | uniq -c | sort -rn | head -8
  11636  
   2504 E 
   2079 A 
   2005 T 
   1729 I 
   1645 N 
   1632 S 
   1580 O

A gaba za mu samar da waɗancan haruffan da ba su da yawa waɗanda ke da tsayin aƙalla haruffa goma. Ga rubutun mai sauƙi.

$ cat man.txt | tr '' '2' | tr '[:upper:]' '[:lower:]' | tr -d '[:punct:]' | tr -d '[0-9]' | sort | uniq -c | sort -n |  grep -E '..................' | head
1        ────────────────────────────────────────── 
1        a all 
1        abc             any or all arguments within   are optional 
1               able  see setlocale for precise details 
1        ab              options delimited by  cannot be used together 
1               achieved by using the less environment variable 
1              a child process returned a nonzero exit status 
1               act as if this option was supplied using the name as a filename 
1               activate local mode  format and display  local  manual  files 
1               acute accent

Lura: Ƙara yawan ɗigogi a cikin rubutun da ke sama har sai an samar da duk sakamakon. Za mu iya amfani da .{10} don samun matches goma.

Waɗannan ƙananan rubutun, kuma suna sa mu san yawancin kalmomi da haruffa masu bayyana a cikin Turanci.

Shi ke nan a yanzu. Zan sake kasancewa a nan tare da wani batu mai ban sha'awa kuma mai ban sha'awa wanda ya kamata ku sani, wanda mutane za ku so ku karanta. Kar ku manta da samar mana da mahimman ra'ayoyin ku a cikin sashin sharhi, a ƙasa.

Karanta Hakanan: Dokokin Ban dariya 20 na Linux