Linux-AWK/C2/User-Defined-Functions-in-awk/Punjabi

From Script | Spoken-Tutorial
Jump to: navigation, search
Time
Narration
00:01 ਸਤਿ ਸ਼੍ਰੀ ਅਕਾਲ ਦੋਸਤੋ, “User - defined function” in “awk” ‘ਤੇ ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲ ਵਿੱਚ ਤੁਹਾਡਾ ਸਵਾਗਤ ਹੈ ।
00:07 ਇਸ ਟਿਊਟੋਰਿਅਲ ਵਿੱਚ ਅਸੀਂ ਹੇਠਾਂ ਦਿੱਤੇ ਦੇ ਬਾਰੇ ਵਿੱਚ ਸਿੱਖਾਂਗੇ – “function definition” ਦਾ ਸਿੰਟੈਕਸ, “Function call” ਅਤੇ “Return statement”
00:17 ਅਸੀਂ ਇਹ ਕੁੱਝ ਉਦਾਹਰਣਾਂ ਦੇ ਰਾਹੀਂ ਸਮਝਾਂਗੇ ।
00:21 ਇਸ ਟਿਊਟੋਰਿਅਲ ਨੂੰ ਰਿਕਾਰਡ ਕਰਨ ਦੇ ਲਈ ਮੈਂ ਵਰਤੋਂ ਕਰ ਰਿਹਾ ਹਾਂ “Ubuntu Linux” 16.04 “Operating System” ਅਤੇ “gedit text editor 3.20.1”
00:34 ਤੁਸੀਂ ਆਪਣੇ ਪਸੰਦ ਦੇ ਕਿਸੇ ਵੀ ਟੈਕਸਟ ਐਡੀਟਰ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ ।
00:38 ਇਸ ਟਿਊਟੋਰਿਅਲ ਦਾ ਅਭਿਆਸ ਕਰਨ ਦੇ ਲਈ ਤੁਹਾਨੂੰ ਇਸ ਵੈੱਬਸਾਈਟ ‘ਤੇ ਪਿਛਲੇ “awk” ਟਿਊਟੋਰਿਅਲਸ ਦੇਖਣੇ ਚਾਹੀਦੇ ਹਨ ।
00:45 ਤੁਹਾਨੂੰ ਕਿਸੇ ਵੀ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਦਾ ਕੁੱਝ ਗਿਆਨ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਜਿਵੇਂ C ਜਾਂ C + +.
00:52 ਜੇਕਰ ਨਹੀਂ, ਤਾਂ ਕ੍ਰਿਪਾ ਕਰਕੇ ਸਾਡੀ ਵੈੱਬਸਾਈਟ ‘ਤੇ ਸਮਰੂਪੀ ਟਿਊਟੋਰਿਅਲਸ ਵੇਖੋ ।
00:58 ਇਸ ਟਿਊਟੋਰਿਅਲ ਵਿੱਚ ਉਪਯੋਗਿਤ ਫਾਇਲਸ ਇਸ ਟਿਊਟੋਰਿਅਲ ਦੇ ਪੇਜ਼ ‘ਤੇ “Code Files” ਲਿੰਕ ਵਿੱਚ ਉਪਲੱਬਧ ਹਨ । ਕ੍ਰਿਪਾ ਕਰਕੇ ਉਨ੍ਹਾਂ ਨੂੰ ਡਾਊਂਨਲੋਡ ਅਤੇ ਐਕਸਟਰੈਕਟ ਕਰੋ ।
01:08 ਹੁਣ “user defined functions” ਦੇ ਬਾਰੇ ਵਿੱਚ ਸਿੱਖਦੇ ਹਾਂ । “function” ਸਿੰਟੈਕਸ ਹੇਠਾਂ ਦਿੱਤਾ ਹੈ ।
01:16 ਅਤੇ ਸਿੰਟੈਕਸ ਸੁਗਮ ਹੈ ।
01:20 ਇੱਥੇ “keyword function” ਲਾਜ਼ਮੀ ਹੈ ।
01:24 “function” ਨੂੰ “call” ਕਰਨ ਦੇ ਲਈ, parentheses ਵਿੱਚ “arguments” ਦੇ ਬਾਅਦ “function” ਦਾ ਨਾਮ ਲਿਖੋ ।
01:31 ਧਿਆਨ ਦਿਓ, “function” ਦੇ ਨਾਮ ਅਤੇ “argument” ਦੇ “open parentheses” ਦੇ ਵਿਚਕਾਰ “space” ਦੀ ਆਗਿਆ ਨਹੀਂ ਹੈ ।
01:39 ਹੁਣ ਅਸੀਂ ਇੱਕ ਉਦਾਹਰਣ ਵੇਖਾਂਗੇ ।
01:42 ਸਾਡੀ “awkdemo.txt file” ਵਿੱਚ ਛੇਵਾਂ “field” “stipend” ਦਰਸਾਉਂਦਾ ਹੈ ।
01:47 ਮੰਨੋ ਕਿ “stipend” ਜਾਂ ਤਾਂ ਸਿਫ਼ਰ ਹੈ ਜਾਂ ਚਾਰ ਅੰਕਾਂ ਤੋਂ ਬਣਿਆ ਹੈ ।
01:54 ਮੰਨ ਲਓ “stipend” 8900 ਹੈ । ਤਾਂ ਇਸਨੂੰ ਸ਼ਬਦਾਂ ਵਿੱਚ 8 ਹਜ਼ਾਰ 9 ਸੌ ਪ੍ਰਿੰਟ ਕਰੋ ।
02:03 ਜੇਕਰ “stipend” 0 ਹੈ, ਸ਼ਬਦਾਂ ਵਿੱਚ ਸਿਫ਼ਰ ਪ੍ਰਿੰਟ ਕਰੋ ।
02:08 ਮੈਂ “user_function.awk” ਨਾਮ ਵਾਲੀ ਫਾਇਲ ਵਿੱਚ ਪਹਿਲਾਂ ਹੀ ਕੋਡ ਲਿਖਿਆ ਹੈ ।
02:15 ਇੱਥੇ, ਮੈਂ ਸਿੰਗਲ “argument argval” ਦੇ ਨਾਲ “changeit” ਨਾਮ ਵਾਲਾ “function” ਲਿਖਿਆ ਹੈ ।
02:23 ਇੱਥੇ “argval” ਅਸਲ ਵਿੱਚ: ਸਾਡਾ ਛੇਵਾਂ “field” ਹੈ ਜੋ “stipend” ਹੈ ।
02:29 “function” ਵਿੱਚ ਪਹਿਲਾਂ ਕੋਡ ਜਾਂਚ ਕਰੇਗਾ ਕਿ “argval” “Zero” ਹੈ ਜਾਂ ਨਹੀਂ ।
02:36 ਜੇਕਰ ਹਾਂ ਤਾਂ ਇਹ ਸ਼ਬਦਾਂ ਵਿੱਚ “Zero” ਪ੍ਰਿੰਟ ਕਰੇਗਾ ।
02:40 ਜੇਕਰ ਨਹੀਂ, ਤਾਂ ਕੋਡ ਦਾ “else” ਭਾਗ ਚੱਲੇਗਾ ।
02:46 “else” ਭਾਗ ਵਿੱਚ, ਪਹਿਲਾਂ ਅਸੀਂ “substring function” ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ - ਇੱਕ ਕਰਕੇ ਹਰੇਕ ਅੰਕ ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰਾਂਗੇ ।
02:54 ਅਤੇ ਅਸੀਂ ਭਿੰਨ “indices” ‘ਤੇ “array a” ਵਿੱਚ ਵੈਲਿਊ ਇਕੱਠੀ ਕਰਾਂਗੇ ।
03:00 ਉਦਾਹਰਣ ਵਜੋਂ, a [1] ਖੱਬੇ ਪਾਸੇ ਤੋਂ ਪਹਿਲਾ “digit” ਜਾਂ “thousand’s place digit” ਦੇਵੇਗਾ ।
03:08 ਹਾਲਾਂਕਿ ਸਾਡੇ ਕੋਲ ਕੇਵਲ ਚਾਰ “digits” ਹਨ, ਮੈਂ ਚਾਰ indices ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਹੈ ।
03:13 ਅੱਗੇ, ਅਸੀਂ ਜਾਂਚ ਕਰਾਂਗੇ ਕਿ ਕੀ “elements” ਜ਼ੀਰੋ ਦੇ ਬਰਾਬਰ ਨਹੀਂ ਹੈ । ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਸਹੀ ਕ੍ਰਮ ਵਿੱਚ ਪ੍ਰਿੰਟ ਕਰਾਂਗੇ ।
03:21 ਅਖੀਰ ਵਿੱਚ, ਅਸੀਂ ਆਉਟਪੁਟ ਵਿੱਚ ਨਵਾਂ “line break” ਦੇਣ ਦੇ ਲਈ “backslash n” ਕੈਰੇਕਟਰ ਪ੍ਰਿੰਟ ਕਰਾਂਗੇ ।
03:28 ਫਿਰ “awk script” ਵਿੱਚ ਅਸੀਂ “dollar 2” ਪ੍ਰਿੰਟ ਕੀਤਾ, ਜੋ ਦੂਜਾ ਫ਼ੀਲਡ ਹੈ, ਜੋਕਿ ਨਾਮ ਹੈ ।
03:35 ਫਿਰ ਅਸੀਂ “parameter dollar 6” ਦੇ ਨਾਲ “function changeit” ਕਾਲ ਕੀਤਾ, ਜੋ “stipend” ਹੈ । ਫਾਇਲ ਨੂੰ ਚਲਾਓ ।
03:43 ਟਰਮਿਨਲ ‘ਤੇ ਜਾਓ । ਫਿਰ “cd command” ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਉਸ ਫੋਲਡਰ ‘ਤੇ ਜਾਓ ਜਿਸ ਵਿੱਚ ਤੁਸੀਂ ਫਾਇਲ ਡਾਊਂਨਲੋਡ ਅਤੇ ਐਕਸਟਰੈਕਟ ਕੀਤੀ ਹੈ ।
03:53 ਹੁਣ ਹੇਠਾਂ ਦਿੱਤੀ ਕਮਾਂਡ ਨੂੰ ਟਾਈਪ ਕਰੋ ਅਤੇ ਐਂਟਰ ਦਬਾਓ ।
04:00 ਸਾਨੂੰ ਲੋੜੀਂਦੀ ਆਉਟਪੁਟ ਪ੍ਰਾਪਤ ਹੁੰਦੀ ਹੈ ।
04:03 “user - defined function” ਵਿੱਚ “return statement” ਵੀ ਸ਼ਾਮਿਲ ਹੋ ਸਕਦਾ ਹੈ ।
04:08 ਇਹ “statement” “awk program” ਦੇ “calling” ਭਾਗ ਵਿੱਚ “control” ਰਿਟਰਨ ਕਰਦਾ ਹੈ ।
04:13 ਇਸ ਦੀ ਵਰਤੋਂ ਬਾਕੀ “awk program” ਵਿੱਚ ਵਰਤੋਂ ਸੰਬੰਧੀ ਵੈਲਿਊ ਰਿਟਰਨ ਕਰਨ ਲਈ ਵੀ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ ।
04:20 ਇਹ ਇਸ ਤਰ੍ਹਾਂ ਦਿਸਦਾ ਹੈ “return space expression” ਇੱਥੇ “expression” ਭਾਗ ਓਪਸ਼ਨਲ ਹੈ ।
04:29 ਹੁਣ array ਦਾ average ਰਿਟਰਨ ਕਰਨ ਦੇ ਲਈ function ਲਿਖੋ ।
04:34 ਮੈਂ ਫਾਇਲ average.awk ਵਿੱਚ ਕੋਡ ਲਿਖਿਆ ਹੈ । ਕੰਟੇਂਟਸ ਵੇਖਦੇ ਹਾਂ ।
04:41 ਅਸੀਂ ਇਸ ਉਦੇਸ਼ ਦੇ ਲਈ “function named avg” ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਹੈ ।
04:46 ਇਸ ਵਿੱਚ ਪੰਜ “parameters” ਹਨ ।

“arr” “array” ਹੈ, ਜਿਸਦੇ ਲਈ “average” ਦੀ ਗਿਣਤੀ ਹੋਣੀ ਹੈ ।

04:55 ”i” “array loop variable” ਹੈ ।
04:58 “sum” ਸਾਰੇ “array elements” ਦਾ ਯੋਗ ਹੈ ।
05:03 “n” “array” ਵਿੱਚ elements ਦੀ ਗਿਣਤੀ ਦਰਸਾਉਂਦਾ ਹੈ ।
05:07 “ret” “function avg” ਤੋਂ ਰਿਟਰਨ ਹੋਣਾ ਵਾਲਾ “variable” ਦਰਸਾਉਂਦਾ ਹੈ ।

ret ਗਿਣਤੀ ਕੀਤੇ ਗਏ “average” ਨੂੰ ਇਕੱਠਾ ਕਰੇਗਾ ।

05:17 “i” ਦੇ ਪਹਿਲਾਂ ਵਾਧੂ ਸਪੇਸ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ “variables i, sum, n” ਅਤੇ “ret”, “local variables” ਹਨ ।
05:27 ਵਾਸਤਵ ਵਿੱਚ, “local variables” “arguments” ਹੋਣ ਦੇ ਲਈ ਇੰਟੇਂਡ ਨਹੀਂ ਹਨ ।
05:32 ਤੁਹਾਨੂੰ “functions” ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੇ ਸਮੇਂ ਇਸ ਰੀਤੀ ਦੀ ਨਕਲ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ ।
05:36 “for loop” ਵਿੱਚ ਅਸੀਂ “array elements” ਦੇ ਜੋੜ ਅਤੇ ਕੁੱਲ ਸੰਖਿਆ ਦੀ ਗਿਣਤੀ ਕੀਤੀ ਹੈ ।
05:43 ਅਸੀਂ “elements” ਦੀ ਕੁੱਲ ਗਿਣਤੀ ਦੇ ਨਾਲ ਜੋੜ ਨੂੰ ਵੰਡ ਕੇ “average” ਦੀ ਗਿਣਤੀ ਕੀਤੀ ਹੈ । ਅਤੇ ਉਸ ਵੈਲਿਊ ਨੂੰ variable ret ਵਿੱਚ ਇਕੱਠਾ ਕੀਤਾ ਹੈ ।
05:54 ਇਹ “function avg ()” “variable ret” ਦੀ ਵੈਲਿਊ ਰਿਟਰਨ ਕਰਦਾ ਹੈ ।
06:01 “BEGIN section” ਵਿੱਚ ਅਸੀਂ 5 ਵੱਖ – ਵੱਖ ਸੰਖਿਆਵਾਂ ਦੇ ਨਾਲ “array nums” ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਹੈ ।
06:07 “print statement” ਵਿੱਚ, ਅਸੀਂ ਇੱਕ “argument” ਦੇ ਨਾਲ “function avg ()” ਕਾਲ ਕੀਤਾ, ਜੋ “array name” ਹੈ ।
06:14 ਇਸ ਲਈ:, ਤੁਹਾਨੂੰ arguments ਦੇ ਰੂਪ ਵਿੱਚ local variables ਨੂੰ ਪਾਸ ਨਹੀਂ ਕਰਨਾ ਹੋਵੇਗਾ ।
06:20 ਟਰਮੀਨਲ ‘ਤੇ ਵਾਪਸ ਜਾਓ । ਟਰਮੀਨਲ ਸਾਫ਼ ਕਰੋ ।
06:26 ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡ ਕਮਾਂਡ ਨੂੰ ਟਾਈਪ ਕਰੋ “awk space hyphen f space average dot awk” ਐਂਟਰ ਦਬਾਓ ।
06:37 ਸਾਨੂੰ ਆਉਟਪੁਟ 3.6 ਪ੍ਰਾਪਤ ਹੁੰਦੀ ਹੈ । ਤੁਸੀਂ ਕੈਲੁਕੂਲੇਟਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਸਦੀ ਪੁਸ਼ਟੀ ਕਰ ਸਕਦੇ ਹੋ ।
06:44 ਹੁਣ ਇੱਕ ਹੋਰ ਉਦਾਹਰਣ ਵੇਖਦੇ ਹਾਂ ।
06:47 ਮੈਂ “string” ਨੂੰ “reverse” ਕਰਨ ਦੇ ਲਈ ਇੱਕ ਕੋਡ ਲਿਖਿਆ ਹੈ ਅਤੇ ਇਸਨੂੰ “reverse.awk” ਨਾਮ ਲਿਖਿਆ ਹੈ ।

“recursive function” “string” ਨੂੰ “reverse” ਕਰਨ ਦੇ ਲਈ ਉਪਯੋਗਿਤ ਹੈ ।

06:57 ਇੱਥੇ ਵੀਡਿਓ ਰੋਕੋ ਅਤੇ ਫਲੋ ਨੂੰ ਕੰਟਰੋਲ ਕਿਵੇਂ ਕਰਨਾ ਹੈ ਇਹ ਸਮਝਣ ਦੇ ਲਈ ਕੋਡ ਵੇਖੋ । ਫਿਰ ਆਉਟਪੁਟ ਦੇਖਣ ਦੇ ਲਈ ਇਸਨੂੰ ਚਲਾਓ ।
07:07 ਨਿਰਧਾਰਤ ਕੰਮ ਦੇ ਰੂਪ ਵਿੱਚ, awkdemo.txt file ਵਿੱਚ Roll number field ਨੂੰ reverse ਕਰਨ ਲਈ function rev ਦੀ ਵਰਤੋਂ ਕਰੋ ।
07:16 ਉਦਾਹਰਣ ਵਜੋਂ, ਜੇਕਰ ਰੋਲ ਨੰਬਰ A001 ਹੈ, ਤਾਂ ਆਉਟਪੁਟ 100A ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ ।
07:24 ਉਸਦੇ ਲਈ ਕੋਡ Code Files ਵਿੱਚ reverse_roll.awk ਦੇ ਰੂਪ ਵਿੱਚ ਦਿੱਤਾ ਗਿਆ ਹੈ ।
07:31 ਇਸ ਦੇ ਨਾਲ ਅਸੀਂ ਇਸ ਟਿਊਟੋਰਿਅਲ ਦੇ ਅਖੀਰ ਵਿੱਚ ਆ ਗਏ ਹਾਂ । ਸੰਖੇਪ ਵਿੱਚ ।
07:36 ਇਸ ਟਿਊਟੋਰਿਅਲ ਵਿੱਚ ਅਸੀਂ ਸਿੱਖਿਆ - function definition ਦਾ ਸਿੰਟੈਕਸ
07:41 “Function call” ਅਤੇ “Return statement”
07:45 ਨਿਰਧਾਰਤ ਕੰਮ ਦੇ ਰੂਪ ਵਿੱਚ, “2D matrix” ਦਾ “transpose” ਬਣਾਉਣ ਦੇ ਲਈ “function” ਲਿਖੋ ।
07:52 “array” ਤੋਂ ਹੇਠਲੀ ਵੈਲਿਊ “element” ਰਿਟਰਨ ਕਰਨ ਦੇ ਲਈ “function” ਲਿਖੋ ।
07:58 ਹੇਠ ਲਿਖੇ ਲਿੰਕ ‘ਤੇ ਮੌਜੂਦ ਵੀਡਿਓ, ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲ ਪ੍ਰੋਜੈਕਟ ਦਾ ਸਾਰ ਕਰਦੀ ਹੈ। ਕ੍ਰਿਪਾ ਕਰਕੇ ਇਸ ਨੂੰ ਡਾਊਂਨਲੋਡ ਕਰੋ ਅਤੇ ਵੇਖੋ।
08:06 ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲ ਪ੍ਰੋਜੈਕਟ ਟੀਮ, ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵਰਕਸ਼ਾਪਸ ਚਲਾਉਂਦੀਆਂ ਹਨ। ਆਨਲਾਇਨ ਟੈਸਟ ਪਾਸ ਕਰਨ ਵਾਲਿਆਂ ਨੂੰ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਵੀ ਦਿੱਤੇ ਜਾਂਦੇ ਹਨ।
08:16 ਜ਼ਿਆਦਾ ਜਾਣਕਾਰੀ ਦੇ ਲਈ, ਕ੍ਰਿਪਾ ਕਰਕੇ ਸਾਨੂੰ ਲਿਖੋ।
08:20 ਕ੍ਰਿਪਾ ਕਰਕੇ ਇਸ ਫੋਰਮ ਵਿੱਚ ਆਪਣੀ ਸਮੇਂਬੱਧ ਕਵੇਰੀ ਪੋਸਟ ਕਰੋ ।
08:24 ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲ ਪ੍ਰੋਜੈਕਟ NMEICT, MHRD, ਭਾਰਤ ਸਰਕਾਰ ਦੁਆਰਾ ਪ੍ਰਮਾਣਿਤ ਹੈ। ਇਸ ਮਿਸ਼ਨ ‘ਤੇ ਜ਼ਿਆਦਾ ਜਾਣਕਾਰੀ ਦਿਖਾਏ ਗਏ ਲਿੰਕ ‘ਤੇ ਉਪਲੱਬਧ ਹੈ।
08:36 ਮੈਂ ਨਵਦੀਪ ਤੁਹਾਡੇ ਤੋਂ ਇਜ਼ਾਜਤ ਲੈਂਦਾ ਹਾਂ। ਸਾਡੇ ਨਾਲ ਜੁੜਣ ਦੇ ਲਈ ਧੰਨਵਾਦ।

Contributors and Content Editors

Navdeep.dav