ലിനക്സ് സോർട്ട് കമാൻഡിന്റെ 14 ഉപയോഗപ്രദമായ ഉദാഹരണങ്ങൾ - ഭാഗം 1


ഇൻപുട്ട് ടെക്uസ്uറ്റ് ഫയലുകളുടെ ലൈനുകൾ പ്രിന്റുചെയ്യുന്നതിനും എല്ലാ ഫയലുകളും അടുക്കിയ ക്രമത്തിൽ സംയോജിപ്പിക്കുന്നതിനും ഉപയോഗിക്കുന്ന ഒരു ലിനക്സ് പ്രോഗ്രാമാണ് സോർട്ട്. സോർട്ട് കമാൻഡ് ഫീൽഡ് സെപ്പറേറ്ററായി ശൂന്യമായ ഇടവും സോർട്ട് കീ ആയി മുഴുവൻ ഇൻപുട്ട് ഫയലും എടുക്കുന്നു. നിങ്ങൾ ഔട്ട്uപുട്ട് റീഡയറക്uട് ചെയ്യുന്നതുവരെ സോർട്ട് കമാൻഡ് യഥാർത്ഥത്തിൽ ഫയലുകൾ അടുക്കില്ല, എന്നാൽ അടുക്കിയ ഔട്ട്uപുട്ട് മാത്രം പ്രിന്റ് ചെയ്യുക എന്നത് ശ്രദ്ധിക്കേണ്ടതാണ്.

ഈ ലേഖനം ലിനക്uസിൽ സോർട്ട് കമാൻഡ് എങ്ങനെ ഉപയോഗിക്കാമെന്ന് കാണിക്കുന്ന ഉപയോഗപ്രദമായ 14 പ്രായോഗിക ഉദാഹരണങ്ങളുള്ള Linux 'sort' കമാൻഡിന്റെ ആഴത്തിലുള്ള ഉൾക്കാഴ്ചയാണ് ലക്ഷ്യമിടുന്നത്.

1. ആദ്യം നമ്മൾ 'sort' കമാൻഡ് ഉദാഹരണങ്ങൾ എക്സിക്യൂട്ട് ചെയ്യുന്നതിനായി ഒരു ടെക്സ്റ്റ് ഫയൽ (tecmint.txt) സൃഷ്ടിക്കും. ഞങ്ങളുടെ പ്രവർത്തന ഡയറക്uടറി '/home/$USER/Desktop/tecmint ആണ്.

താഴെയുള്ള കമാൻഡിലെ '-e' ഓപ്ഷൻ ബാക്ക്സ്ലാഷിന്റെ വ്യാഖ്യാനം പ്രാപ്തമാക്കുന്നു കൂടാതെ /n ഓരോ സ്ട്രിംഗും ഒരു പുതിയ വരിയിലേക്ക് എഴുതാൻ എക്കോയോട് പറയുന്നു.

$ echo -e "computer\nmouse\nLAPTOP\ndata\nRedHat\nlaptop\ndebian\nlaptop" > tecmint.txt

2. 'sort' എന്ന് തുടങ്ങുന്നതിന് മുമ്പ് ഫയലിന്റെ ഉള്ളടക്കവും അത് കാണുന്ന രീതിയും നോക്കാം.

$ cat tecmint.txt

3. ഇപ്പോൾ താഴെ പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് ഫയലിന്റെ ഉള്ളടക്കം അടുക്കുക.

$ sort tecmint.txt

ശ്രദ്ധിക്കുക: മുകളിലെ കമാൻഡ് യഥാർത്ഥത്തിൽ ടെക്സ്റ്റ് ഫയലിന്റെ ഉള്ളടക്കങ്ങൾ അടുക്കുന്നില്ല, പക്ഷേ ടെർമിനലിൽ അടുക്കിയ ഔട്ട്പുട്ട് മാത്രമേ കാണിക്കൂ.

4. ‘tecmint.txt’ എന്ന ഫയലിന്റെ ഉള്ളടക്കങ്ങൾ അടുക്കി (sorted.txt) എന്ന ഫയലിൽ എഴുതുക, cat കമാൻഡ് ഉപയോഗിച്ച് ഉള്ളടക്കം പരിശോധിക്കുക.

$ sort tecmint.txt > sorted.txt
$ cat sorted.txt

5. ഇപ്പോൾ '-r' സ്വിച്ച് ഉപയോഗിച്ച് 'tecmint.txt' എന്ന ടെക്uസ്uറ്റ് ഫയലിന്റെ ഉള്ളടക്കങ്ങൾ വിപരീത ക്രമത്തിൽ അടുക്കി 'reversesorted.txt' എന്ന ഫയലിലേക്ക് ഔട്ട്uപുട്ട് റീഡയറക്uട് ചെയ്യുക. പുതുതായി സൃഷ്ടിച്ച ഫയലിന്റെ ഉള്ളടക്ക ലിസ്റ്റിംഗും പരിശോധിക്കുക.

$ sort -r tecmint.txt > reversesorted.txt
$ cat reversesorted.txt

6. വിശദമായ ഉദാഹരണങ്ങൾക്കായി ഞങ്ങൾ അതേ സ്ഥലത്ത് ഒരു പുതിയ ഫയൽ (lsl.txt) സൃഷ്ടിക്കാൻ പോകുന്നു കൂടാതെ നിങ്ങളുടെ ഹോം ഡയറക്uടറിക്കായി 'ls -l' ഔട്ട്uപുട്ട് ഉപയോഗിച്ച് അത് പോപ്പുലേറ്റ് ചെയ്യുകയാണ്.

$ ls -l /home/$USER > /home/$USER/Desktop/tecmint/lsl.txt
$ cat lsl.txt

ഡിഫോൾട്ട് പ്രാരംഭ പ്രതീകങ്ങളല്ല, മറ്റ് ഫീൽഡിന്റെ അടിസ്ഥാനത്തിൽ ഉള്ളടക്കങ്ങൾ അടുക്കുന്നതിനുള്ള ഉദാഹരണങ്ങൾ ഇപ്പോൾ കാണാം.

7. 'lsl.txt' ഫയലിന്റെ ഉള്ളടക്കങ്ങൾ രണ്ടാം നിരയുടെ അടിസ്ഥാനത്തിൽ അടുക്കുക (ഇത് പ്രതീകാത്മക ലിങ്കുകളുടെ എണ്ണത്തെ പ്രതിനിധീകരിക്കുന്നു).

$ sort -nk2 lsl.txt

ശ്രദ്ധിക്കുക: മുകളിലെ ഉദാഹരണത്തിലെ ‘-n’ ഓപ്ഷൻ ഉള്ളടക്കത്തെ സംഖ്യാപരമായി അടുക്കുന്നു. സംഖ്യാ മൂല്യങ്ങൾ ഉൾക്കൊള്ളുന്ന ഒരു കോളത്തിന്റെ അടിസ്ഥാനത്തിൽ ഒരു ഫയൽ അടുക്കാൻ ഞങ്ങൾ ആഗ്രഹിക്കുമ്പോൾ '-n' ഓപ്ഷൻ ഉപയോഗിക്കണം.

8. 'lsl.txt' ഫയലിന്റെ ഉള്ളടക്കങ്ങൾ 9-ാം നിരയുടെ അടിസ്ഥാനത്തിൽ അടുക്കുക (ഇത് ഫയലുകളുടെയും ഫോൾഡറുകളുടെയും പേര്, സംഖ്യയല്ലാത്തതാണ്).

$ sort -k9 lsl.txt

9. ഒരു ഫയലിൽ സോർട്ട് കമാൻഡ് പ്രവർത്തിപ്പിക്കേണ്ടത് എല്ലായ്പ്പോഴും അത്യാവശ്യമല്ല. യഥാർത്ഥ കമാൻഡ് ഉപയോഗിച്ച് നമുക്ക് ഇത് നേരിട്ട് ടെർമിനലിൽ പൈപ്പ്ലൈൻ ചെയ്യാം.

$ ls -l /home/$USER | sort -nk5

10. tecmint.txt എന്ന ടെക്uസ്uറ്റ് ഫയലിൽ നിന്ന് ഡ്യൂപ്ലിക്കേറ്റുകൾ അടുക്കി നീക്കം ചെയ്യുക. ഡ്യൂപ്ലിക്കേറ്റ് നീക്കം ചെയ്തിട്ടുണ്ടോ ഇല്ലയോ എന്ന് പരിശോധിക്കുക.

$ cat tecmint.txt
$ sort -u tecmint.txt

ഇതുവരെയുള്ള നിയമങ്ങൾ (ഞങ്ങൾ നിരീക്ഷിച്ചത്):

  1. അക്കങ്ങളിൽ ആരംഭിക്കുന്ന വരികൾ ലിസ്റ്റിൽ മുൻഗണന നൽകുന്നു, കൂടാതെ (-r) വ്യക്തമാക്കുന്നത് വരെ മുകളിലായിരിക്കും.
  2. ചെറിയക്ഷരങ്ങളിൽ തുടങ്ങുന്ന വരികൾ ലിസ്uറ്റിൽ മുൻഗണന നൽകുന്നു, അല്ലാത്തപക്ഷം (-r) വ്യക്തമാക്കുന്നത് വരെ മുകളിലായിരിക്കും.
  3. അല്ലെങ്കിൽ വ്യക്തമാക്കുന്നത് വരെ (-r) നിഘണ്ടുവിൽ അക്ഷരമാല ഉണ്ടാകുന്നതിന്റെ അടിസ്ഥാനത്തിലാണ് ഉള്ളടക്കങ്ങൾ ലിസ്റ്റ് ചെയ്തിരിക്കുന്നത്.
  4. ഡിഫോൾട്ടായി അടുക്കുക കമാൻഡ് ഓരോ വരിയും സ്uട്രിംഗായി കണക്കാക്കുക, തുടർന്ന് അത് വ്യക്തമാക്കുന്നത് വരെ അക്ഷരമാലകളുടെ നിഘണ്ടു (സംഖ്യാ മുൻഗണന; നിയമം - 1 കാണുക) അനുസരിച്ച് അടുക്കുക.

11. നിലവിലെ ലൊക്കേഷനിൽ 'lsla.txt' എന്ന മൂന്നാമത്തെ ഫയൽ സൃഷ്uടിച്ച് 'ls -lA' കമാൻഡിന്റെ ഔട്ട്uപുട്ട് ഉപയോഗിച്ച് അത് പോപ്പുലേറ്റ് ചെയ്യുക.

$ ls -lA /home/$USER > /home/$USER/Desktop/tecmint/lsla.txt
$ cat lsla.txt

'ls' കമാൻഡിനെക്കുറിച്ച് ധാരണയുള്ളവർക്ക് 'ls -lA'='ls -l' + ഹിഡൻ ഫയലുകൾ അറിയാം. അതിനാൽ ഈ രണ്ട് ഫയലുകളിലെയും മിക്ക ഉള്ളടക്കങ്ങളും ഒന്നായിരിക്കും.

12. സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ടിൽ രണ്ട് ഫയലുകളുടെ ഉള്ളടക്കങ്ങൾ ഒറ്റയടിക്ക് അടുക്കുക.

$ sort lsl.txt lsla.txt

ഫയലുകളുടെയും ഫോൾഡറുകളുടെയും ആവർത്തനം ശ്രദ്ധിക്കുക.

13. ഈ രണ്ട് ഫയലുകളിൽ നിന്നും ഡ്യൂപ്ലിക്കേറ്റുകൾ എങ്ങനെ അടുക്കുകയും ലയിപ്പിക്കുകയും നീക്കം ചെയ്യുകയും ചെയ്യാം എന്ന് ഇപ്പോൾ നമുക്ക് നോക്കാം.

$ sort -u lsl.txt lsla.txt

ഔട്ട്uപുട്ടിൽ നിന്ന് തനിപ്പകർപ്പുകൾ ഒഴിവാക്കിയതായി ശ്രദ്ധിക്കുക. കൂടാതെ, ഔട്ട്uപുട്ട് ഒരു ഫയലിലേക്ക് റീഡയറക്uട് ചെയ്uത് ഒരു പുതിയ ഫയലിലേക്ക് ഔട്ട്uപുട്ട് എഴുതാം.

14. ഞങ്ങൾ ഒരു ഫയലിന്റെ ഉള്ളടക്കം അല്ലെങ്കിൽ ഒന്നിലധികം കോളങ്ങളെ അടിസ്ഥാനമാക്കി ഔട്ട്പുട്ട് ക്രമീകരിക്കാം. ഫീൽഡ് 2,5 (ന്യൂമറിക്), 9 (നോൺ-ന്യൂമറിക്) എന്നിവയുടെ അടിസ്ഥാനത്തിൽ ‘ls -l’ കമാൻഡിന്റെ ഔട്ട്പുട്ട് അടുക്കുക.

$ ls -l /home/$USER | sort -t "," -nk2,5 -k9

ഇപ്പോഴത്തേക്ക് ഇത്രമാത്രം. അടുത്ത ലേഖനത്തിൽ നിങ്ങൾക്കായി വിശദമായി 'sort' കമാൻഡിന്റെ കുറച്ച് ഉദാഹരണങ്ങൾ ഞങ്ങൾ ഉൾപ്പെടുത്തും. അതുവരെ തുടരുക, Tecmint-ലേക്ക് കണക്റ്റ് ചെയ്യുക. പങ്കിടുന്നത് തുടരുക. അഭിപ്രായമിടുന്നത് തുടരുക. ഞങ്ങളെ ലൈക്ക് ചെയ്ത് ഷെയർ ചെയ്ത് പ്രചരിപ്പിക്കാൻ ഞങ്ങളെ സഹായിക്കൂ.

ഇതും വായിക്കുക: 7 രസകരമായ Linux 'sort' കമാൻഡ് ഉദാഹരണങ്ങൾ - ഭാഗം 2