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