AWK NF என்றால் என்ன?

Awk Nf Enral Enna



AWK ஸ்கிரிப்டிங் மொழியானது சில முன்-வரையறுக்கப்பட்ட நோக்கங்களுக்காகச் செயல்பட, உள்ளமைக்கப்பட்ட சிறப்பு மாறிகளின் வரிசையையும் கொண்டுள்ளது. அத்தகைய உள்ளமைக்கப்பட்ட மாறிகளில் ஒன்று 'NF' ஆகும், இது அதன் சொந்த முன் வரையறுக்கப்பட்ட செயல்பாட்டைக் கொண்டுள்ளது. உபுண்டு 20.04 இல் சில பொருத்தமான உதாரணங்களை விளக்குவதன் மூலம் இந்த உள்ளமைக்கப்பட்ட AWK மாறியின் நோக்கத்தை இந்தக் கட்டுரை ஆராயும்.

உபுண்டு 20.04 இல் AWK NF:

வழங்கப்பட்ட கோப்பின் அனைத்து வரிகளிலும் உள்ள புலங்களின் எண்ணிக்கையை அச்சிட “NF” AWK மாறி பயன்படுத்தப்படுகிறது. இந்த உள்ளமைக்கப்பட்ட மாறியானது கோப்பின் அனைத்து வரிகளையும் ஒவ்வொன்றாகச் செயல்படுத்துகிறது மற்றும் ஒவ்வொரு வரிக்கும் தனித்தனியாக புலங்களின் எண்ணிக்கையை அச்சிடுகிறது. இந்த செயல்பாட்டை நன்றாக புரிந்து கொள்ள, கீழே விவாதிக்கப்பட்ட எடுத்துக்காட்டுகளை நீங்கள் படிக்க வேண்டும்.

உபுண்டு 20.04 இல் AWK NF இன் பயன்பாட்டைக் காட்டுவதற்கான எடுத்துக்காட்டுகள்:

பின்வரும் நான்கு எடுத்துக்காட்டுகள் AWK NF இன் பயன்பாட்டை மிகவும் எளிதாகப் புரிந்துகொள்ளும் வகையில் உங்களுக்குக் கற்பிக்கும் வகையில் வடிவமைக்கப்பட்டுள்ளன. இந்த எடுத்துக்காட்டுகள் அனைத்தும் உபுண்டு 20.04 இயக்க முறைமையைப் பயன்படுத்தி செயல்படுத்தப்பட்டுள்ளன.







எடுத்துக்காட்டு # 1: ஒரு உரை கோப்பின் ஒவ்வொரு வரியிலிருந்தும் புலங்களின் எண்ணிக்கையை அச்சிடுக:

இந்த எடுத்துக்காட்டில், உபுண்டு 20.04 இல் உள்ள ஒவ்வொரு வரி அல்லது வரிசையின் புலங்கள் அல்லது நெடுவரிசைகளின் எண்ணிக்கை அல்லது உரை கோப்பின் பதிவை அச்சிட விரும்புகிறோம். அவ்வாறு செய்யும் முறையை உங்களுக்குக் காண்பிப்பதற்காக, கீழே உள்ள படத்தில் காட்டப்பட்டுள்ள உரை கோப்பை நாங்கள் உருவாக்கியுள்ளோம். இந்த உரைக் கோப்பில் பாகிஸ்தானின் ஐந்து வெவ்வேறு நகரங்களில் இருந்து ஒரு கிலோகிராம் ஆப்பிள்களின் விலைகள் உள்ளன.





இந்த மாதிரி உரை கோப்பை நாங்கள் உருவாக்கியதும், எங்கள் டெர்மினலில் இந்த உரை கோப்பின் ஒவ்வொரு வரியிலிருந்தும் புலங்களின் எண்ணிக்கையை அச்சிட பின்வரும் கட்டளையை செயல்படுத்தினோம்:





$ awk ' { அச்சிட NF } AppleRates.txt

இந்தக் கட்டளையில், நாம் AWK கட்டளையை இயக்குகிறோம் என்பதைக் காட்டும் “awk” திறவுச்சொல்லைப் பெற்றுள்ளோம், அதைத் தொடர்ந்து “அச்சு NF” அறிக்கையானது இலக்கு உரைக் கோப்பின் ஒவ்வொரு வரியிலும் மீண்டும் செயல்படும் மற்றும் ஒவ்வொன்றிற்கும் தனித்தனியாக புலங்களின் எண்ணிக்கையை அச்சிடும். உரை கோப்பின் வரி. இறுதியாக, அந்த உரைக் கோப்பின் பெயர் எங்களிடம் உள்ளது (அதன் புலங்கள் கணக்கிடப்பட வேண்டும்) இது எங்கள் விஷயத்தில் 'AppleRatest.txt' ஆகும்.



எங்கள் டெக்ஸ்ட் கோப்பின் ஐந்து வரிகளுக்கும் ஒரே எண்ணிக்கையிலான புலங்கள் இருந்ததால், அதாவது 2, இந்தக் கட்டளையைச் செயல்படுத்துவதால், அனைத்து டெக்ஸ்ட் பைல் லைன்களுக்கான புலங்களின் எண்ணிக்கையாக அதே எண் அச்சிடப்படுகிறது. கீழே உள்ள படத்தில் இருந்து இதைக் காணலாம்:

எடுத்துக்காட்டு # 2: ஒரு உரை கோப்பின் ஒவ்வொரு வரியிலிருந்தும் புலங்களின் எண்ணிக்கையை வழங்கக்கூடிய முறையில் அச்சிடவும்:

மேலே விவாதிக்கப்பட்ட எடுத்துக்காட்டில் காட்டப்படும் வெளியீட்டை வரி எண்கள் மற்றும் உரை கோப்பின் ஒவ்வொரு வரியின் புலங்களின் எண்ணிக்கையையும் காண்பிப்பதன் மூலம் அழகாக வழங்க முடியும். மேலும், நாம் விரும்பும் எந்த சிறப்புத் தன்மையையும் கொண்ட புலங்களின் எண்ணிக்கையிலிருந்து வரி எண்களையும் பிரிக்கலாம். இதை உங்களுக்குக் காட்ட, எங்கள் முதல் உதாரணத்திற்குப் பயன்படுத்திய அதே உரைக் கோப்பைப் பயன்படுத்துவோம். இருப்பினும், இந்த வழக்கில் செயல்படுத்தப்பட வேண்டிய எங்கள் கட்டளை சற்று மாறுபடும், அது பின்வருமாறு:

$ awk ' { அச்சிட NR, “---”, NF } AppleRates.txt

இந்த கட்டளையில், உள்ளமைக்கப்பட்ட AWK மாறி 'NR' ஐ அறிமுகப்படுத்தியுள்ளோம், இது எங்கள் இலக்கு உரை கோப்பின் அனைத்து வரிகளின் வரி எண்களையும் அச்சிடும். மேலும், நாங்கள் வழங்கிய உரைக் கோப்பின் புலங்களின் எண்ணிக்கையிலிருந்து வரி எண்களைப் பிரிக்க, “—” என்ற மூன்று கோடுகளை ஒரு சிறப்பு எழுத்தாகப் பயன்படுத்தியுள்ளோம்.

அதே உரை கோப்பின் சற்று மாற்றியமைக்கப்பட்ட வெளியீடு கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளது:

எடுத்துக்காட்டு # 3: ஒரு உரை கோப்பின் ஒவ்வொரு வரியிலிருந்தும் முதல் மற்றும் கடைசி புலங்களை அச்சிடுக:

வழங்கப்பட்ட உரைக் கோப்பின் அனைத்து வரிகளின் புலங்களின் எண்ணிக்கையைக் கணக்கிடுவதைத் தவிர, AWK இன் 'NF' சிறப்பு மாறி, வழங்கப்பட்ட உரைக் கோப்பிலிருந்து கடைசி புலத்தின் உண்மையான மதிப்புகளைப் பிரித்தெடுக்கவும் பயன்படுத்தப்படலாம். மீண்டும், எங்கள் முதல் இரண்டு எடுத்துக்காட்டுகளுக்குப் பயன்படுத்திய அதே உரைக் கோப்பைப் பயன்படுத்தியுள்ளோம். இருப்பினும், இந்த எடுத்துக்காட்டில் எங்கள் உரை கோப்பின் முதல் மற்றும் கடைசி புலங்களின் உண்மையான மதிப்புகளை அச்சிட விரும்புகிறோம். அதற்காக, பின்வரும் கட்டளையை செயல்படுத்தினோம்:

$ awk ' { அச்சு $1 , $NF } AppleRates.txt

இந்த கட்டளையில் 'awk' முக்கிய சொல்லைத் தொடர்ந்து 'அச்சு $1, $NF' அறிக்கை உள்ளது. '$1' சிறப்பு மாறியானது, நாங்கள் வழங்கிய உரைக் கோப்பின் முதல் புலம் அல்லது முதல் நெடுவரிசையின் மதிப்புகளை அச்சிடப் பயன்படுத்தப்பட்டது, அதேசமயம் கடைசிப் புலம் அல்லது கடைசி நெடுவரிசையின் மதிப்புகளை அச்சிடுவதற்கு '$NF' AWK மாறி பயன்படுத்தப்பட்டது. எங்கள் இலக்கு உரை கோப்பு. நாம் 'NF' AWK மாறியைப் பயன்படுத்தும் போது, ​​ஒவ்வொரு வரியின் புலங்களின் எண்ணிக்கையைக் கணக்கிடப் பயன்படுகிறது என்பதை நீங்கள் இங்கே கவனிக்க வேண்டும்; இருப்பினும், இது டாலர் '$' குறியீட்டுடன் பயன்படுத்தப்படும் போது, ​​அது வழங்கப்பட்ட உரை கோப்பின் கடைசி புலத்தில் இருந்து உண்மையான மதிப்புகளை பிரித்தெடுக்கும். மீதமுள்ள கட்டளைகள் முதல் இரண்டு எடுத்துக்காட்டுகளுக்குப் பயன்படுத்தப்பட்ட கட்டளைகளைப் போலவே அதிகமாகவோ அல்லது குறைவாகவோ இருக்கும்.

கீழே காட்டப்பட்டுள்ள வெளியீட்டில், நாங்கள் வழங்கிய உரைக் கோப்பின் முதல் மற்றும் கடைசி புலங்களின் உண்மையான மதிப்புகள் முனையத்தில் அச்சிடப்பட்டிருப்பதைக் காணலாம். இந்த வெளியீடு 'cat' கட்டளையின் வெளியீட்டிற்கு மிகவும் ஒத்திருப்பதை நீங்கள் காணலாம், ஏனெனில் நாங்கள் வழங்கிய உரை கோப்பில் இரண்டு புலங்கள் மட்டுமே இருந்தன; எனவே, ஒரு வழியில், மேலே குறிப்பிடப்பட்ட கட்டளையை செயல்படுத்துவதன் விளைவாக, எங்கள் முழு உரை கோப்பின் உள்ளடக்கங்களும் முனையத்தில் அச்சிடப்பட்டன.

எடுத்துக்காட்டு # 4: ஒரு உரை கோப்பில் விடுபட்ட புலங்களுடன் பதிவுகளை பிரிக்கவும்:

சில சமயங்களில், சில விடுபட்ட புலங்களுடன் உரைக் கோப்பில் சில பதிவுகள் உள்ளன, மேலும் ஒவ்வொரு அம்சத்திலும் முழுமையான பதிவுகளிலிருந்து அந்தப் பதிவுகளை நீங்கள் பிரிக்க விரும்பலாம். “NF” AWK மாறியைப் பயன்படுத்தியும் இதைச் செய்யலாம். அதற்காக, 'ExamMarks.txt' என்ற பெயரில் ஒரு உரை கோப்பை உருவாக்கியுள்ளோம், அதில் மூன்று வெவ்வேறு தேர்வுகளில் ஐந்து வெவ்வேறு மாணவர்களின் தேர்வு மதிப்பெண்கள் அவர்களின் பெயர்களுடன் உள்ளன. இருப்பினும், மூன்றாம் தேர்வுக்கு, சில மாணவர்கள் வரவில்லை, இதன் காரணமாக அவர்களின் மதிப்பெண்கள் இல்லை. இந்த உரை கோப்பு பின்வருமாறு:

முழுமையான புலங்கள் கொண்ட பதிவுகளிலிருந்து விடுபட்ட புலங்களைக் கொண்ட பதிவுகளை வேறுபடுத்த, கீழே காட்டப்பட்டுள்ள கட்டளையை இயக்குவோம்:

$ awk ' { அச்சிட NR, “--- > ”, NF } ExamMarks.txt

இந்த கட்டளை எங்கள் இரண்டாவது எடுத்துக்காட்டுக்கு பயன்படுத்தியதைப் போன்றது. இருப்பினும், பின்வரும் படத்தில் காட்டப்பட்டுள்ள இந்த கட்டளையின் வெளியீட்டில் இருந்து, முதல் மற்றும் நான்காவது பதிவுகள் முழுமையடைந்திருப்பதைக் காணலாம், அதேசமயம் இரண்டாவது, மூன்றாவது மற்றும் ஐந்தாவது பதிவுகளில் விடுபட்ட புலங்கள் உள்ளன.

முடிவுரை:

இந்த கட்டுரையின் நோக்கம் 'NF' AWK சிறப்பு மாறியின் பயன்பாட்டை விளக்குவதாகும். இந்த மாறி எவ்வாறு செயல்படுகிறது என்பதை முதலில் சுருக்கமாக விவாதித்தோம், அதன் பிறகு, நான்கு வெவ்வேறு எடுத்துக்காட்டுகளின் உதவியுடன் இந்த கருத்தை நன்கு விரிவுபடுத்தினோம். பகிரப்பட்ட அனைத்து எடுத்துக்காட்டுகளையும் நீங்கள் நன்கு புரிந்துகொண்டவுடன், நீங்கள் 'NF' AWK மாறியைப் பயன்படுத்தி மொத்த புலங்களின் எண்ணிக்கையைக் கணக்கிடலாம் மற்றும் வழங்கப்பட்ட கோப்பின் கடைசி புலத்தின் உண்மையான மதிப்புகளை அச்சிடலாம்.