Linux ടെർമിനലിൽ രസകരം - വാക്കുകളുടെയും പ്രതീകങ്ങളുടെയും എണ്ണത്തിൽ കളിക്കുക


Linux കമാൻഡ് ലൈനിന് ചുറ്റും വളരെയധികം രസമുണ്ട്, മാത്രമല്ല മടുപ്പിക്കുന്ന പല ജോലികളും വളരെ എളുപ്പത്തിൽ ചെയ്യാനാകും. വാക്കുകളും പ്രതീകങ്ങളും ഉപയോഗിച്ച് കളിക്കുന്നത്, ഒരു ടെക്സ്റ്റ് ഫയലിലെ അവയുടെ ആവൃത്തി മുതലായവയാണ് ഈ ലേഖനത്തിൽ നമ്മൾ കാണാൻ പോകുന്നത്.

ഒരു ടെക്uസ്uറ്റ് ഫയലിൽ നിന്ന് വാക്കുകളും പ്രതീകങ്ങളും കൈകാര്യം ചെയ്യാൻ Linux കമാൻഡ് ലൈൻ ട്വീക്ക് ചെയ്യുന്നതിന് നമ്മുടെ മനസ്സിൽ വരുന്ന ഒരേയൊരു കമാൻഡ് wc കമാൻഡ് ആണ്.

പദങ്ങളുടെ എണ്ണത്തെ സൂചിപ്പിക്കുന്ന ഒരു 'wc' കമാൻഡ് ഒരു ടെക്uസ്uറ്റ് ഫയലിൽ നിന്ന് ന്യൂലൈൻ, വേഡ്, ബൈറ്റ് കൗണ്ടുകൾ എന്നിവ പ്രിന്റ് ചെയ്യാൻ പ്രാപ്തമാണ്.

ടെക്സ്റ്റ് ഫയൽ വിശകലനം ചെയ്യുന്നതിനായി ചെറിയ സ്ക്രിപ്റ്റുകൾ ഉപയോഗിച്ച് പ്രവർത്തിക്കാൻ, നമുക്ക് ഒരു ടെക്സ്റ്റ് ഫയൽ ഉണ്ടായിരിക്കണം. ഏകീകൃതത നിലനിർത്താൻ, താഴെ വിവരിച്ചിരിക്കുന്നതുപോലെ, man കമാൻഡിന്റെ ഔട്ട്പുട്ട് ഉപയോഗിച്ച് ഞങ്ങൾ ഒരു ടെക്സ്റ്റ് ഫയൽ സൃഷ്ടിക്കുന്നു.

$ man man > man.txt

മുകളിലെ കമാൻഡ് 'man' കമാൻഡിനായി 'മാനുവൽ പേജ്' ഉള്ളടക്കം ഉപയോഗിച്ച് 'man.txt' എന്ന ഒരു ടെക്സ്റ്റ് ഫയൽ സൃഷ്ടിക്കുന്നു.

ചുവടെയുള്ള സ്uക്രിപ്റ്റ് പ്രവർത്തിപ്പിച്ച് മുകളിൽ സൃഷ്uടിച്ച 'ടെക്uസ്റ്റ് ഫയൽ' എന്നതിൽ ഏറ്റവും സാധാരണമായ വാക്കുകൾ പരിശോധിക്കാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു.

$ 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

മുകളിലെ ഒരു ലൈനർ സിമ്പിൾ സ്uക്രിപ്റ്റ് കാണിക്കുന്നു, ടെക്uസ്uറ്റ് ഫയലിൽ ഏറ്റവും കൂടുതൽ തവണ പ്രത്യക്ഷപ്പെടുന്ന പത്ത് വാക്കുകളും അവയുടെ ആവൃത്തിയും.

ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് ഒരു വാക്ക് വ്യക്തിഗതമായി എങ്ങനെ വിഭജിക്കും.

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

ശ്രദ്ധിക്കുക: ഇവിടെ, ‘-w1’ എന്നത് വീതിക്കുള്ളതാണ്.

ഇപ്പോൾ നമ്മൾ ഒരു ടെക്uസ്uറ്റ് ഫയലിലെ ഓരോ വാക്കും തകർക്കും, ഫലം അടുക്കി, പത്ത് പതിവ് പ്രതീകങ്ങളുടെ ഫ്രീക്വൻസി ഉപയോഗിച്ച് ആവശ്യമുള്ള ഔട്ട്uപുട്ട് നേടുക.

$ 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

ടെക്uസ്uറ്റ് ഫയലിൽ വലിയക്ഷരവും ചെറിയക്ഷരവും ഉപയോഗിച്ച് അവയുടെ ആവർത്തനത്തിന്റെ ആവൃത്തിയ്uക്കൊപ്പം വ്യത്യസ്uതമായി അക്ഷരങ്ങൾ ലഭിക്കുന്നത് എങ്ങനെ.

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

വിരാമചിഹ്നം ഉൾപ്പെടുത്തിയിരിക്കുന്ന മുകളിലെ ഔട്ട്പുട്ട് പരിശോധിക്കുക. 'tr' കമാൻഡ് ഉപയോഗിച്ച് വിരാമചിഹ്നങ്ങൾ ഒഴിവാക്കാം. ഇവിടെ നമ്മൾ ആരംഭിക്കുന്നു:

$ 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

ഇപ്പോൾ എനിക്ക് മൂന്ന് ടെക്സ്റ്റ് ഫയലുകൾ ഉണ്ട്, ഔട്ട്പുട്ട് കാണാൻ മുകളിലുള്ള ഒരു ലൈനർ സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കാം.

$ 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

അടുത്തതായി, കുറഞ്ഞത് പത്ത് അക്ഷരങ്ങളെങ്കിലും നീളമുള്ള അപൂർവ അക്ഷരങ്ങൾ ഞങ്ങൾ സൃഷ്ടിക്കും. ലളിതമായ സ്ക്രിപ്റ്റ് ഇതാ.

$ 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

ശ്രദ്ധിക്കുക: എല്ലാ ഫലങ്ങളും ജനറേറ്റുചെയ്യുന്നത് വരെ മുകളിലെ സ്ക്രിപ്റ്റിൽ കൂടുതൽ കൂടുതൽ ഡോട്ടുകൾ. പത്ത് പ്രതീക പൊരുത്തങ്ങൾ ലഭിക്കാൻ നമുക്ക് .{10} ഉപയോഗിക്കാം.

ഈ ലളിതമായ സ്ക്രിപ്റ്റുകൾ, ഇംഗ്ലീഷിൽ ഏറ്റവും കൂടുതൽ തവണ പ്രത്യക്ഷപ്പെടുന്ന വാക്കുകളും പ്രതീകങ്ങളും ഞങ്ങളെ അറിയാൻ സഹായിക്കുന്നു.

ഇപ്പോഴത്തേക്ക് ഇത്രമാത്രം. നിങ്ങൾ ആളുകൾ വായിക്കാൻ ഇഷ്ടപ്പെടുന്ന, അറിയേണ്ട രസകരമായ മറ്റൊരു വിഷയവുമായി ഞാൻ ഇവിടെ വീണ്ടും വരും. ചുവടെയുള്ള അഭിപ്രായ വിഭാഗത്തിൽ നിങ്ങളുടെ വിലയേറിയ ഫീഡ്uബാക്ക് ഞങ്ങൾക്ക് നൽകാൻ മറക്കരുത്.

ഇതും വായിക്കുക: Linux-ന്റെ 20 രസകരമായ കമാൻഡുകൾ