Pjaċir f'Linux Terminal - Ilgħab bil-Kelma u l-Għodd tal-Karattri


Linja ta 'kmand Linux għandha ħafna pjaċir madwaru innifsu u ħafna xogħol tedious jistgħu jitwettqu faċilment ħafna iżda bil-perfezzjoni. Il-logħob bil-kliem u l-karattri, il-frekwenza tagħhom f'fajl ta 'test, eċċ huwa dak li se naraw f'dan l-artikolu.

L-uniku kmand li jiġi f'moħħna, għall-irfinar tal-linja tal-kmand tal-Linux biex timmanipula kliem u karattri minn fajl test huwa kmand wc.

Kmand 'wc' li jirrappreżenta għadd ta' kliem huwa kapaċi li jistampa għadd ta' linji ġodda, kliem u byte minn fajl ta' test.

Biex naħdmu ma 'l-iskripts żgħar biex tanalizza fajl test, irridu jkollna fajl test. Biex inżommu l-uniformità, qed noħolqu fajl ta 'test bl-output tal-kmand tal-bniedem, kif deskritt hawn taħt.

$ man man > man.txt

Il-kmand ta 'hawn fuq joħloq fajl ta' test man.txt bil-kontenut ta 'paġna manwali għall-kmand man.

Irridu niċċekkjaw il-kliem l-aktar komuni, fil-'Text File' maħluqa hawn fuq billi nħaddmu l-iskrittura t'hawn taħt.

$ 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

L-iskrittura sempliċi ta 'linja waħda ta' hawn fuq turi, għaxar kelmiet li jidhru l-aktar frekwenti u l-frekwenza tad-dehra tagħhom, fil-fajl tat-test.

Kif dwar li tkisser kelma f'individwu billi tuża l-kmand li ġej.

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

Nota: Hawnhekk, '-w1' hija għall-wisa '.

Issa se nkunu qed nkissru kull kelma waħda f'fajl test, issortja r-riżultat u nikseb l-output mixtieq bil-frekwenza ta 'għaxar karattri l-aktar frekwenti.

$ 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

Kif dwar li jkollok karattri l-aktar frekwenti fil-fajl tat-test b'ittri kbar u żgħar b'mod differenti flimkien mal-frekwenza tal-okkorrenza tagħhom.

$ 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 .

Iċċekkja l-output ta 'hawn fuq, fejn il-marka tal-punteġġjatura hija inkluża. Ejja nneħħu l-punteġġjatura, bil-kmand 'tr'. Hawn immorru:

$ 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

Issa għandi tliet fajls ta 'test, ejja nmexxi l-iskrittura tal-linja waħda ta' hawn fuq biex tara l-output.

$ 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

Sussegwentement se nkunu qed niġġeneraw dawk l-ittri mhux frekwenti li huma twal mill-inqas għaxar ittri. Hawn hu l-iskrittura sempliċ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

Nota: L-aktar u aktar tikek fl-iskrittura ta 'hawn fuq sakemm jiġu ġġenerati r-riżultati kollha. Nistgħu nużaw .{10} biex niksbu għaxar logħbiet ta' karattri.

Dawn l-iskripts sempliċi, jagħmlilna wkoll kliem u karattri li jidhru l-aktar frekwenti bl-Ingliż.

Dak kollu għalissa. Ser nerġa’ nkun hawn b’suġġett ieħor interessanti u barra mill-beat ta’ min ikun jaf, li intom inħobbu taqraw. Tinsiex tagħtina l-feedback siewi tiegħek fit-taqsima tal-kummenti, hawn taħt.

Aqra wkoll: 20 Kmandi Umoristiċi tal-Linux