Linux-ൽ STDIN-ൽ നിന്ന് Awk ഇൻപുട്ട് എങ്ങനെ വായിക്കാം - ഭാഗം 7


Awk ടൂൾ സീരീസിന്റെ മുൻ ഭാഗങ്ങളിൽ, കൂടുതലും ഒരു ഫയലിൽ(കളിൽ) നിന്നുള്ള ഇൻപുട്ട് വായിക്കുന്നത് ഞങ്ങൾ നോക്കി, എന്നാൽ നിങ്ങൾക്ക് STDIN-ൽ നിന്നുള്ള ഇൻപുട്ട് വായിക്കണമെങ്കിൽ എന്തുചെയ്യും.

Awk സീരീസിന്റെ ഈ ഭാഗം 7-ൽ, ഒരു ഫയലിൽ നിന്നുള്ള ഇൻപുട്ട് വായിക്കുന്നതിനുപകരം നിങ്ങൾക്ക് മറ്റ് കമാൻഡുകളുടെ ഔട്ട്പുട്ട് ഫിൽട്ടർ ചെയ്യാൻ കഴിയുന്ന ചില ഉദാഹരണങ്ങൾ ഞങ്ങൾ പരിശോധിക്കും.

ഞങ്ങൾ ls കമാൻഡ് ഉപയോഗിച്ച് ആരംഭിക്കും, ചുവടെയുള്ള ആദ്യ ഉദാഹരണത്തിൽ, ഉടമയുടെ ഉപയോക്തൃനാമവും ഗ്രൂപ്പിന്റെ പേരും നിലവിലുള്ള ഫയലുകളും പ്രിന്റ് ചെയ്യുന്നതിനായി ഞങ്ങൾ dir -l കമാൻഡിന്റെ ഔട്ട്uപുട്ട് Awk-നുള്ള ഇൻപുട്ടായി ഉപയോഗിക്കുന്നു. ഡയറക്ടറി:

# dir -l | awk '{print $3, $4, $9;}'

ഞങ്ങൾ awk എക്uസ്uപ്രഷനുകൾ ഉപയോഗിക്കുന്ന മറ്റൊരു ഉദാഹരണം നോക്കുക, ഇവിടെ, ചുവടെയുള്ള awk കമാൻഡിലെ പോലെ സ്ട്രിംഗുകൾ ഫിൽട്ടർ ചെയ്യുന്നതിന് ഒരു എക്uസ്uപ്രഷൻ ഉപയോഗിച്ച് റൂട്ട് ഉപയോക്താവിന്റെ ഉടമസ്ഥതയിലുള്ള ഫയലുകൾ പ്രിന്റ് ചെയ്യാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു:

# dir -l | awk '$3=="root" {print $1,$3,$4, $9;} '

റൂട്ട് ഉപയോക്താവിന്റെ ഉടമസ്ഥതയിലുള്ള നിലവിലെ ഡയറക്uടറിയിലെ ഫയലുകൾ ഫിൽട്ടർ ചെയ്യാൻ ഞങ്ങളെ സഹായിക്കുന്നതിന് മുകളിലുള്ള കമാൻഡിൽ (==) താരതമ്യ ഓപ്പറേറ്റർ ഉൾപ്പെടുന്നു. $3==”root” എന്ന പദപ്രയോഗം ഉപയോഗിച്ചാണ് ഇത് നേടുന്നത്.

ഒരു നിശ്ചിത സ്ട്രിംഗുമായി പൊരുത്തപ്പെടുത്തുന്നതിന് ഞങ്ങൾ ഒരു awk താരതമ്യ ഓപ്പറേറ്റർ എവിടെയാണ് ഉപയോഗിക്കുന്നത് എന്നതിന്റെ മറ്റൊരു ഉദാഹരണം നോക്കാം.

ഇവിടെ, tecmint_deals.txt എന്ന പേരിലുള്ള ഒരു ഫയലിന്റെ ഉള്ളടക്കങ്ങൾ കാണുന്നതിന് ഞങ്ങൾ cat യൂട്ടിലിറ്റി ഉപയോഗിച്ചു, കൂടാതെ ടെക് എന്ന തരത്തിലുള്ള ഡീലുകൾ മാത്രം കാണാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു, അതിനാൽ ഞങ്ങൾ ഇനിപ്പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കും:

# cat tecmint_deals.txt
# cat tecmint_deals.txt | awk '$4 ~ /tech/{print}'
# cat tecmint_deals.txt | awk '$4 ~ /Tech/{print}'

മുകളിലുള്ള ഉദാഹരണത്തിൽ, ഞങ്ങൾ ~ /pattern/ താരതമ്യ ഓപ്പറേറ്റർ മൂല്യം ഉപയോഗിച്ചു, എന്നാൽ വളരെ പ്രധാനപ്പെട്ട എന്തെങ്കിലും കൊണ്ടുവരാൻ ശ്രമിക്കുന്നതിന് രണ്ട് കമാൻഡുകൾ ഉണ്ട്.

നിങ്ങൾ പാറ്റേൺ ടെക് ഉപയോഗിച്ച് കമാൻഡ് പ്രവർത്തിപ്പിക്കുമ്പോൾ, ആ തരത്തിലുള്ള ഡീൽ ഇല്ലാത്തതിനാൽ ഒന്നും പ്രിന്റ് ചെയ്യപ്പെടില്ല, പക്ഷേ ടെക് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ടെക്ക് തരം ഡീലുകൾ ലഭിക്കും.

അതിനാൽ ഈ താരതമ്യ ഓപ്പറേറ്റർ ഉപയോഗിക്കുമ്പോൾ എപ്പോഴും ശ്രദ്ധിക്കുക, നമ്മൾ മുകളിൽ കണ്ടത് പോലെ ഇത് കേസ് സെൻസിറ്റീവ് ആണ്.

ഒരു ഫയലിൽ നിന്നുള്ള ഇൻപുട്ട് വായിക്കുന്നതിനുപകരം awk-നുള്ള ഇൻപുട്ടായി നിങ്ങൾക്ക് എല്ലായ്പ്പോഴും മറ്റൊരു കമാൻഡിന്റെ ഔട്ട്പുട്ട് ഉപയോഗിക്കാം, മുകളിലുള്ള ഉദാഹരണങ്ങളിൽ ഞങ്ങൾ നോക്കിയത് പോലെ ഇത് വളരെ ലളിതമാണ്.

നിങ്ങൾക്ക് മനസിലാക്കാൻ ഉദാഹരണങ്ങൾ വ്യക്തമാണെന്ന് പ്രതീക്ഷിക്കുന്നു, നിങ്ങൾക്ക് എന്തെങ്കിലും ആശങ്കകളുണ്ടെങ്കിൽ, ചുവടെയുള്ള കമന്റ് വിഭാഗത്തിലൂടെ നിങ്ങൾക്ക് അവ പ്രകടിപ്പിക്കാം, കൂടാതെ പരമ്പരയുടെ അടുത്ത ഭാഗം പരിശോധിക്കാൻ ഓർമ്മിക്കുക, അവിടെ ഞങ്ങൾ വേരിയബിളുകൾ, സംഖ്യാ പദപ്രയോഗങ്ങൾ എന്നിവ പോലുള്ള awk സവിശേഷതകൾ പരിശോധിക്കും. അസൈൻമെന്റ് ഓപ്പറേറ്റർമാർ.