Linux-AWK/C2/Built-in-Variables-in-awk/Punjabi
From Script | Spoken-Tutorial
Revision as of 19:18, 17 July 2019 by Navdeep.dav (Talk | contribs)
|
|
00:01 | “awk built - in variables” ਅਤੇ “awk script” ‘ਤੇ ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲ ਵਿੱਚ ਤੁਹਾਡਾ ਸਵਾਗਤ ਹੈ । |
00:07 | ਇਸ ਟਿਊਟੋਰਿਅਲ ਵਿੱਚ ਅਸੀਂ “Built - in variables”, “awk script” ਦੇ ਬਾਰੇ ਵਿੱਚ ਸਿੱਖਾਂਗੇ । |
00:14 | ਅਸੀਂ ਇਹਨਾਂ ਨੂੰ ਕੁੱਝ ਉਦਾਹਰਣਾਂ ਦੇ ਮਾਧਿਅਮ ਨਾਲ ਕਰਾਂਗੇ । |
00:17 | ਇਸ ਟਿਊਟੋਰਿਅਲ ਨੂੰ ਰਿਕਾਰਡ ਕਰਨ ਦੇ ਲਈ, ਮੈਂ ਵਰਤੋਂ ਕਰ ਰਿਹਾ ਹਾਂ “Ubuntu Linux 16.04 Operating System ਅਤੇ gedit text editor 3.20.1 |
00:30 | ਇਸ ਟਿਊਟੋਰਿਅਲ ਵਿੱਚ ਉਪਯੋਗਿਤ ਫਾਇਲਸ ਇਸ ਟਿਊਟੋਰਿਅਲ ਦੇ ਪੇਜ਼ ‘ਤੇ “Code Files” ਲਿੰਕ ਵਿੱਚ ਉਪਲੱਬਧ ਹਨ । ਕ੍ਰਿਪਾ ਕਰਕੇ ਡਾਊਂਨਲੋਡ ਕਰੋ ਅਤੇ ਉਨ੍ਹਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ । |
00:40 | ਇਸ ਟਿਊਟੋਰਿਅਲ ਦਾ ਅਭਿਆਸ ਕਰਨ ਦੇ ਲਈ, ਤੁਹਾਨੂੰ ਇਸ ਵੈੱਬਸਾਈਟ ‘ਤੇ ਪਹਿਲਾਂ awk ਟਿਊਟੋਰਿਅਲਸ ਨੂੰ ਵੇਖਣਾ ਚਾਹੀਦਾ ਹੈ । |
00:47 | ਜੇਕਰ ਨਹੀਂ, ਤਾਂ ਕ੍ਰਿਪਾ ਕਰਕੇ ਇਸ ਵੈੱਬਸਾਈਟ ‘ਤੇ ਸਮਰੂਪੀ ਟਿਊਟੋਰਿਅਲਸ ਵੇਖੋ । |
00:52 | ਪਹਿਲਾਂ “awk” ਵਿੱਚ ਕੁੱਝ “built - in variables” ਵੇਖਦੇ ਹਾਂ । |
00:57 | ਕੈਪੀਟਲ “RS” ਇੱਕ ਇਨਪੁਟ ਫਾਇਲ ਵਿੱਚ “record separator” ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ । ਡਿਫਾਲਟ ਰੂਪ ਤੋਂ ਇਹ “newline” ਹੈ । |
01:07 | ਕੈਪੀਟਲ FS ਇੱਕ ਇਨਪੁਟ ਫਾਇਲ ਵਿੱਚ “field separator” ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ । |
01:13 | ਡਿਫਾਲਟ ਰੂਪ ਤੋਂ “FS” ਦੀ ਵੈਲਿਊ “whitespace” ਹੈ । |
01:18 | ਕੈਪੀਟਲ “ORS” “output record separator” ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ । ਡਿਫਾਲਟ ਰੂਪ ਤੋਂ ਇਹ “newline” ਹੈ । |
01:27 | ਕੈਪੀਟਲ “OFS” “output field separator” ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ । ਡਿਫਾਲਟ ਰੂਪ ਤੋਂ ਇਹ “whitespace” ਹੈ । |
01:36 | ਇਹਨਾਂ ਸਭ ਦਾ ਮਤਲੱਬ ਸਮਝਦੇ ਹਾਂ । |
01:40 | ਹੁਣ “awkdemo” ਫਾਇਲ ‘ਤੇ ਇੱਕ ਨਜ਼ਰ ਪਾਓ । |
01:44 | ਜਦੋਂ ਅਸੀਂ “awk” ਕਮਾਂਡ ਦੇ ਨਾਲ ਇਸ “awkdemo” ਫਾਇਲ ਪ੍ਰੋਸੈਸ ਕਰ ਰਹੇ ਹਾਂ, ਇਹ ਸਾਡੀ ਇਨਪੁਟ ਫਾਇਲ ਬਣ ਜਾਂਦੀ ਹੈ |
01:51 | ਧਿਆਨ ਦਿਓ ਕਿ ਸਾਰੇ ਰਿਕਾਰਡ “newline character” ਦੁਆਰਾ ਇੱਕ ਦੂਜੇ ਨਾਲ ਵੰਡੇ ਜਾਂਦੇ ਹਨ । |
01:58 | “newline” “record separator RS variable” ਦੇ ਲਈ ਡਿਫਾਲਟ ਵੈਲਿਊ ਹੈ । ਇਸ ਲਈ: ਇੱਥੇ ਕੁੱਝ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ । |
02:08 | ਧਿਆਨ ਦਿਓ ਸਾਰੇ ਫੀਲਡਸ “pipe symbol” ਦੁਆਰਾ ਵੰਡੇ ਗਏ ਹਨ । ਅਸੀਂ “awk” ਨੂੰ ਇਸਦੇ ਬਾਰੇ ਵਿੱਚ ਕਿਵੇਂ ਦੱਸੀਏ । ਵੇਖਦੇ ਹਾਂ । |
02:18 | ਡਿਫਾਲਟ ਰੂਪ ਤੋਂ “spaces” ਜਾਂ “tabs” ਦੀ ਕੋਈ ਵੀ ਗਿਣਤੀ ਫੀਲਡਸ ਨੂੰ ਵੱਖਰਾ ਕਰਦੀ ਹੈ । |
02:24 | ਅਸੀਂ “hyphen capital F” ਓਪਸ਼ਨ ਦੀ ਮਦਦ ਨਾਲ ਇਸ ਨੂੰ ਰਿਸੈਟ ਕਰ ਸਕਦੇ ਹਾਂ ਜਿਵੇਂ ਕਿ ਪਹਿਲਾਂ ਦੇ ਟਿਊਟੋਰਿਅਲਸ ਵਿੱਚ ਸਿੱਖਿਆ । |
02:33 | ਜਾਂ ਅਸੀਂ “FS” “variable” ਦੀ ਵਰਤੋਂ ਨਾਲ “BEGIN section” ਵਿੱਚ ਇਸਨੂੰ ਰਿਸੈਟ ਕਰ ਸਕਦੇ ਹਾਂ । |
02:40 | ਇਸਨੂੰ ਇੱਕ ਉਦਾਹਰਣ ਦੇ ਮਾਧਿਅਮ ਨਾਲ ਕਰਦੇ ਹਾਂ ।
ਮੰਨ ਲਓ, ਮੈਂ ਉਨ੍ਹਾਂ ਵਿਦਿਆਰਥੀਆਂ ਦੇ ਨਾਮ ਦਾ ਪਤਾ ਲਗਾਉਣਾ ਚਾਹੁੰਦਾ ਹਾਂ, ਜਿਨ੍ਹਾਂ ਨੂੰ 5000 ਰੁਪਏ ਤੋਂ ਜ਼ਿਆਦਾ ਦਾ ਸਟਾਇਪੇਂਡ ਮਿਲ ਰਿਹਾ ਹੈ । |
02:51 | “CTRL, ALT” ਅਤੇ “T” ਕੀਜ ਦਬਾਕੇ ਟਰਮੀਨਲ ਖੋਲੋ । |
02:57 | cd ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਉਸ ਫੋਲਡਰ ‘ਤੇ ਜਾਓ, ਜਿਸ ਵਿੱਚ ਤੁਸੀਂ Code Files ਨੂੰ ਡਾਊਂਨਲੋਡ ਅਤੇ ਐਕਸਟਰੈਕਟ ਕਰਕੇ ਰੱਖਿਆ ਹੈ । |
03:04 | ਇੱਥੇ ਦਿਖਾਏ ਗਏ ਅਨੁਸਾਰ ਕਮਾਂਡ ਟਾਈਪ ਕਰੋ । |
03:08 | ਇੱਥੇ “BEGIN” ਸੈਕਸ਼ਨ ਵਿੱਚ, ਅਸੀਂ “pipe symbol” ਦੇ ਰੂਪ ਵਿੱਚ “FS” ਦੀ ਵੈਲਿਊ ਅਸਾਇਨ ਕੀਤੀ ਹੈ । ਉਸੀ ਤਰ੍ਹਾਂ ਨਾਲ ਅਸੀਂ “RS variable” ਨੂੰ ਸੋਧ ਕੇ ਕਰ ਸਕਦੇ ਹਾਂ । |
03:19 | ਕਮਾਂਡ ਨੂੰ ਚਲਾਉਣ ਦੇ ਲਈ ਐਂਟਰ ਦਬਾਓ । |
03:23 | ਆਉਟਪੁਟ ਉਨ੍ਹਾਂ ਵਿਦਿਆਰਥੀਆਂ ਦੀ ਸੂਚੀ ਦਿਖਾਉਂਦਾ ਹੈ, ਜੋ ਸਟਾਇਪੇਂਡ ਦੇ ਰੂਪ ਵਿੱਚ ਰੁਪਏ 5000 ਤੋਂ ਜ਼ਿਆਦਾ ਪ੍ਰਾਪਤ ਕਰ ਰਹੇ ਹਨ । |
03:30 | ਇੱਥੇ “name” ਫ਼ੀਲਡ ਅਤੇ “stipend” ਫ਼ੀਲਡ ਖਾਲੀ “space” ਦੁਆਰਾ ਵੱਖਰਾ ਹੈ । |
03:36 | ਨਾਲ ਹੀ, ਸਾਰੇ ਰਿਕਾਰਡਸ “newline character” ਵੱਖਰੇ ਹਨ । |
03:42 | ਮੰਨ ਲਓ ਸਾਨੂੰ “output field separator” ਦੇ ਰੂਪ ਵਿੱਚ “colon” ਅਤੇ “output record separator” ਦੇ ਰੂਪ ਵਿੱਚ ਡਬਲ “newline” ਚਾਹੀਦੀ ਹੈ । |
03:52 | ਅਸੀਂ ਇਸਨੂੰ ਕਿਵੇਂ ਕਰ ਸਕਦੇ ਹਾਂ? ਵੇਖਦੇ ਹਾਂ । |
03:55 | ਪਿਛਲੀ ਚਲਾਈ ਗਈ ਕਮਾਂਡ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਟਰਮੀਨਲ ਵਿੱਚ ਅਪ ਐਰੋ ਕੀ ਦਬਾਓ । |
04:01 | ਇੱਥੇ ਦਿਖਾਏ ਗਏ ਅਨੁਸਾਰ ਕਮਾਂਡ ਨੂੰ ਸੋਧ ਕੇ ਕਰੋ ਅਤੇ ਫਿਰ ਐਂਟਰ ਦਬਾਓ । |
04:08 | ਸਾਨੂੰ ਲੋੜੀਂਦੇ ਫਾਰਮੈਟ ਵਿੱਚ ਆਉਟਪੁਟ ਪ੍ਰਾਪਤ ਹੁੰਦੀ ਹੈ । |
04:12 | ਹੁਣ ਮੰਨ ਲਓ ਕਿ ਸਾਡੀ ਇਨਪੁਟ ਫਾਇਲ “sample.txt” ਹੈ । |
04:18 | ਧਿਆਨ ਦਿਓ ਕਿ ਇੱਥੇ “field separator” “newline” ਹੈ ਅਤੇ “record separator” ਡਬਲ “newline” ਹੈ । |
04:27 | ਅਸੀਂ ਇਸ ਫਾਇਲ ਨਾਲ ਰੋਲ ਨੰਬਰ ਅਤੇ ਨਾਮ ਦੀ ਜਾਣਕਾਰੀ ਕਿਵੇਂ ਲੈ ਸਕਦੇ ਹਾਂ ? |
04:32 | ਹਾਂ, ਤੁਸੀਂ ਠੀਕ ਅਨੁਮਾਨ ਲਗਾਇਆ । ਸਾਨੂੰ ਦੋਵੇਂ “FS” ਅਤੇ “RS” “variables” ਨੂੰ ਸੋਧ ਕੇ ਕਰਨਾ ਹੋਵੇਗਾ । |
04:39 | ਇਹ ਟਿਊਟੋਰਿਅਲ ਰੋਕੋ ਅਤੇ ਨਿਰਧਾਰਤ ਕੰਮ ਦੇ ਰੂਪ ਵਿੱਚ ਇਸ ਨੂੰ ਕਰੋ । |
04:43 | ਹੁਣ ਹੋਰ “built - in variables” ਵੇਖਦੇ ਹਾਂ । |
04:47 | ਕੈਪੀਟਲ “NR” “awk” ਦੁਆਰਾ ਪ੍ਰੋਸੈਸ ਕੀਤੇ ਗਏ “Number of Records” ਦਿੰਦਾ ਹੈ । |
04:53 | ਕੈਪੀਟਲ “NF” ਵਰਤਮਾਨ ਰਿਕਾਰਡ ਵਿੱਚ “Number of Fields” ਦਿੰਦਾ ਹੈ । |
04:59 | ਇਸ ‘ਤੇ ਇੱਕ ਉਦਾਹਰਣ ਵੇਖਦੇ ਹਾਂ ।
ਮੰਨ ਲਓ, ਅਸੀਂ ਫਾਇਲ ਵਿੱਚ ਅਪੂਰਨ ਲਾਇਨਸ ਪਤਾ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਾਂ । |
05:07 | ਇੱਥੇ, ਅਪੂਰਨ ਲਾਈਨ ਦਾ ਮਤਲੱਬ ਹੈ ਕਿ ਇਹ ਆਮ 6 ਫਿਲਡਸ ਤੋਂ ਘੱਟ ਹੈ । |
05:13 | ਟਰਮੀਨਲ ‘ਤੇ ਜਾਓ । “Ctrl” ਅਤੇ “L” ਕੀਜ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਟਰਮੀਨਲ ਸਾਫ਼ ਕਰੋ । |
05:20 | ਦਿਖਾਏ ਗਏ ਅਨੁਸਾਰ ਕਮਾਂਡ ਟਾਈਪ ਕਰੋ । |
05:24 | ਕਿਉਂਕਿ ਫ਼ੀਲਡਸ “pipe symbol” ਦੁਆਰਾ ਵੱਖਰੇ ਹਨ, “BEGIN” ਸੈਕਸ਼ਨ ਵਿੱਚ “pipe” symbol ਦੇ ਲਈ “FS” ਵੈਲਿਊ ਸੈੱਟ ਕਰੋ । |
05:33 | ਅੱਗੇ ਅਸੀਂ ਲਿਖਿਆ “NF not equal to 6” |
05:37 | ਇਹ ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਵਰਤਮਾਨ ਲਾਈਨ ਵਿੱਚ ਫ਼ੀਲਡਸ ਦੀ ਗਿਣਤੀ 6 ਦੇ ਬਰਾਬਰ ਨਹੀਂ ਹੈ । |
05:43 | ਜੇਕਰ ਇਹ ਸਹੀ ਹੈ, ਤਾਂ ਪ੍ਰਿੰਟ ਸੈਕਸ਼ਨ “$ 0” ਦੁਆਰਾ ਦਰਸਾਈ ਗਈ ਪੂਰੀ ਲਾਈਨ ਦੇ ਨਾਲ ਰਿਕਾਰਡ ਦਾ ਲਾਈਨ ਨੰਬਰ “NR” ਪ੍ਰਿੰਟ ਕਰੇਗਾ । ਐਂਟਰ ਦਬਾਓ । |
05:55 | ਆਉਟਪੁਟ ਵਿੱਚ, ਅਸੀਂ ਵੇਖ ਸਕਦੇ ਹਾਂ ਕਿ ਰਿਕਾਰਡ ਨੰਬਰ 16 ਅਪੂਰਨ ਰਿਕਾਰਡ ਹੈ । ਇਸ ਵਿੱਚ 6 ਦੇ ਬਜਾਏ ਕੇਵਲ 5 ਫ਼ੀਲਡਸ ਹਨ । |
06:05 | ਇੱਕ ਹੋਰ ਉਦਾਹਰਣ ਵੇਖਦੇ ਹਾਂ ।
ਇੱਥੇ ਕਿੰਨੇ ਫ਼ੀਲਡਸ ਹਨ ਇਹ ਪਰਵਾਹ ਕੀਤੇ ਬਿਨਾਂ, ਅਸੀਂ ਹਰੇਕ ਵਿਦਿਆਰਥੀ ਦੇ ਲਈ ਪਹਿਲਾ ਅਤੇ ਆਖਰੀ ਫ਼ੀਲਡ ਕਿਵੇਂ ਪ੍ਰਿੰਟ ਕਰ ਸਕਦੇ ਹਾਂ ? |
06:16 | ਇੱਥੇ ਦਿਖਾਏ ਗਏ ਅਨੁਸਾਰ ਟਰਮੀਨਲ ‘ਤੇ ਕਮਾਂਡ ਟਾਈਪ ਕਰੋ । |
06:21 | ਇੱਥੇ ਅਸੀਂ “FS” “variable” ਸੈਟ ਕਰਨ ਦੀ ਬਜਾਏ “hyphen capital F” ਓਪਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕੀਤੀ । ਐਂਟਰ ਦਬਾਓ । |
06:30 | ਸਾਨੂੰ ਫਾਇਲ ਵਿੱਚ ਹਰੇਕ ਰਿਕਾਰਡ ਦੇ ਲਈ ਕੇਵਲ ਪਹਿਲਾ ਅਤੇ ਆਖਰੀ ਫ਼ੀਲਡਸ ਪ੍ਰਾਪਤ ਹੁੰਦਾ ਹੈ । |
06:36 | ਹੁਣ ਕੁਝ ਹੋਰ ਵੇਖਦੇ ਹਾਂ । |
06:39 | ਮੰਨ ਲਓ, ਵਿਦਿਆਰਥੀਆਂ ਦਾ ਰਿਕਾਰਡ “demo1.txt”, “demo2.txt” ਦੋ ਫਾਇਲਸ ਵਿੱਚ ਵੰਡਿਆ ਗਿਆ ਹੈ । |
06:48 | ਅਸੀਂ ਇਹਨਾਂ ਦੋ ਫਾਇਲਸ ਵਿੱਚੋਂ ਹਰੇਕ ਵਿੱਚੋਂ ਪਹਿਲੀਆਂ 3 ਲਾਇਨਸ ਪ੍ਰਿੰਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਾਂ ।
ਅਸੀਂ ਇਹ “NR variable” ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕਰ ਸਕਦੇ ਹਾਂ । |
06:57 | ਇੱਥੇ ਦੋ ਫਾਇਲਸ ਦਾ ਕੰਟੇਂਟ ਹੈ । |
07:02 | ਹੁਣ ਹਰੇਕ ਫਾਇਲ ਨਾਲ ਪਹਿਲੀਆਂ 3 ਲਾਈਨ ਦਿਖਾਉਣ ਦੇ ਲਈ, ਟਰਮੀਨਲ ‘ਤੇ ਹੇਠ ਦਿੱਤੀ ਕਮਾਂਡ ਟਾਈਪ ਕਰੋ । |
07:11 | ਐਂਟਰ ਦਬਾਓ । |
07:13 | ਆਉਟਪੁਟ “demo1.txt” ਫਾਇਲ ਦੇ ਕੇਵਲ ਪਹਿਲੇ 3 ਰਿਕਾਰਡ ਦਿਖਾਉਂਦੀ ਹੈ । |
07:20 | ਅਸੀਂ ਦੂਜੀ ਫਾਇਲ ਲਈ ਵੀ ਉਹੀ ਕਿਵੇਂ ਪ੍ਰਿੰਟ ਕਰ ਸਕਦੇ ਹਾਂ ? |
07:24 | ਹੱਲ ਹੈ “NR” ਦੇ ਬਜਾਏ “FNR” ਦੀ ਵਰਤੋਂ ਕਰਨਾ ।
“FNR” ਵਰਤਮਾਨ ਫਾਇਲ ਵਿੱਚ “current record number” ਹੈ । |
07:34 | ਹਰ ਵਾਰ ਇੱਕ ਨਵਾਂ ਰਿਕਾਰਡ ਪੜੇ ਜਾਣ ਦੇ ਬਾਅਦ “FNR” ਵੱਧ ਜਾਂਦਾ ਹੈ । |
07:39 | ਹਰ ਵਾਰ ਇੱਕ ਨਵੀਂ ਇਨਪੁਟ ਫਾਇਲ ਸ਼ੁਰੂ ਹੋਣ ‘ਤੇ ਇਸ ਨੂੰ ਜ਼ੀਰੋ ਕੀਤਾ ਜਾਂਦਾ ਹੈ । |
07:46 | ਪਰ “NR” ਇਨਪੁਟ ਦੇ ਰਿਕਾਰਡ ਦੀ ਗਿਣਤੀ ਹੈ ਜਿਸ ਨੂੰ “awk” ਨੇ ਪ੍ਰੋਗਰਾਮ ਦੇ ਚੱਲਣ ਦੀ ਸ਼ੁਰੂਆਤ ਨਾਲ ਸੋਧਿਆ ਹੈ । |
07:55 | ਇਸਨੂੰ ਨਵੀਂ ਫਾਇਲ ਦੇ ਨਾਲ ਜ਼ੀਰੋ ਰਿਸੈਟ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ । |
07:59 | ਟਰਮੀਨਲ ‘ਤੇ ਜਾਓ । ਪਿਛਲੀ ਚਲਾਈ ਗਈ ਕਮਾਂਡ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਅਪ ਐਰੋ ਕੀ ਦਬਾਓ । |
08:06 | ਹੇਠਾਂ ਦਿੱਤੇ ਗਏ ਅਨੁਸਾਰ ਪਿਛਲੀ ਕਮਾਂਡ ਵਿੱਚ ਬਦਲਾਵ ਕਰੋ ।
“NR” ਦੀ ਬਜਾਏ “FNR” ਟਾਈਪ ਕਰੋ । |
08:14 | “NR” ਦੇ ਅੱਗੇ “Print” ਸੈਕਸ਼ਨ ਵਿੱਚ ਟਾਈਪ ਕਰੋ “FNR” ਐਂਟਰ ਦਬਾਓ । |
08:21 | ਵੇਖੋ, ਹੁਣ ਸਾਨੂੰ ਸਹੀ ਆਉਟਪੁਟ ਮਿਲਦੀ ਹੈ ।
“FNR” ਨਵੀਂ ਫਾਇਲ ਦੇ ਨਾਲ ਜ਼ੀਰੋ ‘ਤੇ ਸੈਟ ਹੈ ਪਰ “NR” ਵੱਧਦਾ ਰਹਿੰਦਾ ਹੈ । |
08:31 | ਹੁਣ ਕੁੱਝ ਹੋਰ “built - in variables” ਵੇਖਦੇ ਹਾਂ । “FILENAME” ਵੈਰੀਏਬਲ ਪੜ੍ਹੀ ਜਾਣ ਵਾਲੀ ਫਾਇਲ ਦਾ ਨਾਮ ਦਿੰਦਾ ਹੈ । |
08:40 | “ARGC” ਕਮਾਂਡ ਲਾਈਨ ਵਿੱਚ ਦਿੱਤੇ ਗਏ “arguments” ਦੀ ਗਿਣਤੀ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ । |
08:46 | “ARGV” ਇੱਕ “array” ਦੀ ਨੁਮਾਇੰਦਗੀ ਕਰਦਾ ਹੈ, ਜੋ “command line arguments” ਨੂੰ ਇਕੱਠਾ ਕਰਦਾ ਹੈ । |
08:52 | “ENVIRON” “shell environment variables” ਦਾ “array” ਅਤੇ ਸਮਰੂਪੀ ਵੈਲਿਊਜ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ । |
09:00 | “ARGV” ਅਤੇ “ENVIRON” “awk” ਵਿੱਚ “array” ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ, ਅਸੀਂ ਬਾਅਦ ਦੇ ਟਿਊਟੋਰਿਅਲ ਵਿੱਚ ਉਨ੍ਹਾਂ ‘ਤੇ ਗੌਰ ਕਰਾਂਗੇ । |
09:09 | ਹੁਣ “FILENAME” ਵੈਰੀਏਬਲ ‘ਤੇ ਇੱਕ ਨਜ਼ਰ ਪਾਉਂਦੇ ਹਾਂ ।
ਅਸੀਂ ਕਾਰਵਾਈ ਕੀਤੀ ਜਾ ਰਹੀ ਵਰਤਮਾਨ ਫਾਇਲ ਦਾ ਨਾਮ ਕਿਵੇਂ ਪ੍ਰਿੰਟ ਕਰ ਸਕਦੇ ਹਾਂ ? |
09:18 | ਟਰਮੀਨਲ ‘ਤੇ ਜਾਓ ਅਤੇ ਦਿਖਾਏ ਗਏ ਅਨੁਸਾਰ ਕਮਾਂਡ ਟਾਈਪ ਕਰੋ । |
09:23 | ਇੱਥੇ ਅਸੀਂ “string concatenation operator” ਦੇ ਰੂਪ ਵਿੱਚ “space” ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਹੈ । ਕਮਾਂਡ ਚਲਾਉਣ ਦੇ ਲਈ ਐਂਟਰ ਦਬਾਓ । |
09:32 | ਆਉਟਪੁਟ ਕਈ ਵਾਰ “input filename” ਦਿਖਾਉਂਦੀ ਹੈ । |
09:37 | ਅਜਿਹਾ ਇਸਲਈ, ਕਿਉਂਕਿ ਇਹ ਕਮਾਂਡ “awkdemo.txt” ਫਾਇਲ ਵਿੱਚ ਹਰੇਕ ਰੋ ਦੇ ਲਈ ਇੱਕ ਵਾਰ ਫਾਇਲਨਾਮ ਪ੍ਰਿੰਟ ਕਰਦਾ ਹੈ । ਅਸੀਂ ਇਸਨੂੰ ਕੇਵਲ ਇੱਕ ਵਾਰ ਕਿਵੇਂ ਪ੍ਰਿੰਟ ਕਰ ਸਕਦੇ ਹਾਂ ? |
09:48 | ਟਰਮੀਨਲ ਸਾਫ਼ ਕਰੋ । ਪਿਛਲੀ ਚਲਾਈ ਗਈ ਕਮਾਂਡ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਦੇ ਲਈ ਅਪ ਐਰੋ ਕੀ ਦਬਾਓ । |
09:55 | ਇੱਥੇ ਦਿਖਾਏ ਗਏ ਅਨੁਸਾਰ ਪਿਛਲੀ ਕਮਾਂਡ ਵਿੱਚ ਬਦਲਾਵ ਕਰੋ । ਐਂਟਰ ਦਬਾਓ । |
10:02 | ਹੁਣ ਸਾਨੂੰ ਫਾਇਲਨਾਮ ਕੇਵਲ ਇੱਕ ਵਾਰ ਮਿਲਦਾ ਹੈ । |
10:06 | ਇੱਥੇ “awk” ਵਿੱਚ ਕੁੱਝ ਹੋਰ “built - in variables” ਹਨ । ਕ੍ਰਿਪਾ ਕਰਕੇ ਉਨ੍ਹਾਂ ‘ਤੇ ਜਾਣਕਾਰੀ ਦੇ ਲਈ ਇੰਟਰਨੈੱਟ ਬਰਾਊਜ ਕਰੋ । |
10:14 | ਮੰਨ ਲਓ, ਅਸੀਂ ਉਨ੍ਹਾਂ ਵਿਦਿਆਰਥੀਆਂ ਨੂੰ ਲੱਭਣਾ ਚਾਹੁੰਦੇ ਹਾਂ ਜੋ ਪਾਸ ਹੋਏ ਹਨ ਅਤੇ ਜਿਨ੍ਹਾਂ ਦਾ ਸਟਾਇਪੇਂਡ 8000 ਰੁਪਏ ਤੋਂ ਜ਼ਿਆਦਾ ਹੈ |
10:22 | “output field separator” ਦੇ ਰੂਪ ਵਿੱਚ “comma” ਦੀ ਵਰਤੋਂ ਕਰੋ ਅਤੇ “footer section” ਵਿੱਚ ਫਾਇਲ ਲਈ ਦਿਖਾਇਆ ਗਿਆ ਡਾਟਾ ਅਤੇ ਫਾਇਲ ਦਾ ਨਾਮ ਪ੍ਰਿੰਟ ਕਰੋ ।
ਅਸੀਂ ਇਹ ਕਿਵੇਂ ਕਰ ਸਕਦੇ ਹਾਂ ? |
10:36 | ਟਰਮੀਨਲ ‘ਤੇ ਹੇਠ ਦਿੱਤੀ ਕਮਾਂਡ ਟਾਈਪ ਕਰੋ । ਐਂਟਰ ਦਬਾਓ । |
10:43 | ਅਸੀਂ ਵੇਖ ਸਕਦੇ ਹਾਂ ਕਿ ਕੇਵਲ ਇੱਕ ਵਿਦਿਆਰਥੀ ਪਾਸ ਹੋਇਆ ਹੈ ਅਤੇ 8000 ਰੁਪਏ ਤੋਂ ਜ਼ਿਆਦਾ ਸਟਾਇਪੇਂਡ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ ।
ਅਤੇ ਰਿਕਾਰਡ ਨੰਬਰ 2 ਹੈ । |
10:53 | ਸਾਡੀ ਉਮੀਦ ਅਨੁਸਾਰ “footer” ਵਿੱਚ ਫਾਇਲ ਦਾ ਨਾਮ ਵੀ ਵੇਖ ਸਕਦੇ ਹਾਂ । |
10:58 | ਅਸੀਂ ਜ਼ਿਆਦਾ ਤੋਂ ਜ਼ਿਆਦਾ ਮੁਸ਼ਕਲ ਕੰਮਾਂ ਦੇ ਲਈ “awk” ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਾਂ । |
11:03 | ਅਜਿਹੀ ਸਥਿਤੀ ਵਿੱਚ, ਟਰਮੀਨਲ ‘ਤੇ ਹਰ ਵਾਰ ਕਮਾਂਡ ਲਿਖਣਾ ਜ਼ਿਆਦਾ ਔਖਾ ਹੋ ਜਾਂਦਾ ਹੈ । |
11:09 | ਅਸੀਂ ਇਸਦੇ ਬਜਾਏ ਇੱਕ ਵੱਖਰੀ ਫਾਇਲ ਵਿੱਚ “awk” ਪ੍ਰੋਗਰਾਮ ਲਿਖ ਸਕਦੇ ਹਾਂ । |
11:14 | ਚਲਾਉਣ ਦੇ ਯੋਗ ਬਣਾਉਣ ਦੇ ਲਈ, ਉਸ ਫਾਇਲ ਵਿੱਚ “dot awk” ਐਕਸਟੇਂਸ਼ਨ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ । |
11:19 | ਚਲਾਉਂਦੇ ਸਮੇਂ, ਅਸੀਂ ਇਸ “awk” ਪ੍ਰੋਗਰਾਮ ਫਾਇਲਨਾਮ ਨੂੰ “awk” ਕਮਾਂਡ ਦੇ ਨਾਲ ਨਿਰਧਾਰਤ ਕਰ ਸਕਦੇ ਹਾਂ । |
11:26 | ਅਜਿਹਾ ਕਰਨ ਦੇ ਲਈ, ਸਾਨੂੰ “hyphen small f” ਓਪਸ਼ਨ ਵਰਤੋਂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ । ਇੱਕ ਉਦਾਹਰਣ ਵੇਖਦੇ ਹਾਂ । |
11:35 | ਮੈਂ ਪਹਿਲਾਂ ਹੀ ਇੱਕ “awk” ਪ੍ਰੋਗਰਾਮ ਲਿਖਿਆ ਹੈ ਅਤੇ “prog1 dot awk” ਦੇ ਰੂਪ ਵਿੱਚ ਸੇਵ ਕੀਤਾ ਹੈ । |
11:42 | ਇਹ ਕੋਡ “Code Files” ਲਿੰਕ ਵਿੱਚ ਉਪਲੱਬਧ ਹੈ । |
11:46 | ਟਰਮੀਨਲ ‘ਤੇ ਜਾਓ । ਵੇਖੋ ਪਿਛਲੀ ਚਲਾਈ ਗਈ ਕਮਾਂਡ ਦੇ “single quotes” ਵਿੱਚ ਅਸੀਂ ਕੀ ਲਿਖਿਆ ਹੈ ? |
11:55 | “prog1.awk” ਫਾਇਲ ਦਾ ਕੰਟੇਂਟ ਬਿਲਕੁੱਲ ਸਮਾਨ ਹੈ । |
12:00 | “awk” ਫਾਇਲ ਵਿੱਚ ਕੇਵਲ ਅੰਤਰ ਇਹ ਹੈ ਕਿ ਅਸੀਂ “single quotes” ਵਿੱਚ ਨਹੀਂ ਲਿਖਿਆ ਹੈ । |
12:07 | ਫਾਇਲ ਨੂੰ ਚਲਾਉਣ ਦੇ ਲਈ ਟਰਮੀਨਲ ‘ਤੇ ਹੇਠ ਦਿੱਤੇ ਨੂੰ ਟਾਈਪ ਕਰੋ,
“awk space hyphen small f space prog1.awk space awkdemo.txt” ਅਤੇ ਐਂਟਰ ਦਬਾਓ । |
12:24 | ਅਸੀਂ ਉਸੇ ਤਰ੍ਹਾਂ ਦੀ ਹੀ ਆਉਟਪੁਟ ਪ੍ਰਾਪਤ ਕਰ ਰਹੇ ਹਾਂ ਜਿਵੇਂ ਕਿ ਅਸੀਂ ਪਹਿਲਾਂ ਵੇਖਿਆ ਹੈ । |
12:29 | ਇਸ ਲਈ: ਇਸ ਤਰ੍ਹਾਂ ਅਸੀਂ “awk” ਪ੍ਰੋਗਰਾਮਸ ਲਿਖ ਸਕਦੇ ਹਾਂ ਅਤੇ ਕਈ ਵਾਰ ਇਸ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਾਂ । |
12:35 | ਇਸ ਦੇ ਨਾਲ ਅਸੀਂ ਇਸ ਟਿਊਟੋਰਿਅਲ ਦੇ ਅਖੀਰ ਵਿੱਚ ਆ ਗਏ ਹਾਂ । ਸੰਖੇਪ ਵਿੱਚ.. |
12:40 | ਇਸ ਟਿਊਟੋਰਿਅਲ ਵਿੱਚ ਅਸੀਂ ਕਈ ਉਦਾਹਰਣਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ “Built - in variables”,
“awk script” ਦੇ ਬਾਰੇ ਵਿੱਚ ਸਿੱਖਿਆ । |
12:48 | ਇੱਕ ਨਿਰਧਾਰਤ ਕੰਮ ਦੇ ਰੂਪ ਵਿੱਚ “awkdemo.txt” ਫਾਇਲ ਵਿੱਚ ਪੰਜਵੀਂ ਲਾਈਨ ਦੇ ਆਖਰੀ ਫੀਲਡ ਨੂੰ ਪ੍ਰਿੰਟ ਕਰਨ ਲਈ “awk” ਸਕਰਿਪਟ ਲਿਖੋ । |
12:58 | ਟਰਮੀਨਲ ‘ਤੇ “/etc/passwd” ਸਿਸਟਮ ਫਾਇਲ ਖੋਲੋ । |
13:05 | ਉਸ ਵਿੱਚ ਸਾਰੇ “separators” ਦੀ ਪਹਿਚਾਣ ਕਰੋ । |
13:09 | ਹੁਣ ਵੀਹਵੀਂ ਲਾਈਨ ਤੋਂ ਅੱਗੇ ਫਾਇਲ ਨੂੰ ਪ੍ਰੋਸੈਸ ਕਰਨ ਦੇ ਲਈ ਸਕਰਿਪਟ ਲਿਖੋ । |
13:15 | ਉਹ ਵੀ, ਕੇਵਲ ਉਨ੍ਹਾਂ ਲਾਇਨਸ ਦੇ ਲਈ ਜਿਨ੍ਹਾਂ ਵਿੱਚ 6 ਤੋਂ ਜ਼ਿਆਦਾ ਫੀਲਡਸ ਹਨ । |
13:20 | ਤੁਹਾਨੂੰ ਉਸ ਵਿਸ਼ੇਸ਼ ਲਾਈਨ ਵਿੱਚ ਲਾਈਨ ਨੰਬਰ, ਪੂਰੀ ਲਾਈਨ ਅਤੇ ਫ਼ੀਲਡਸ ਦੀ ਗਿਣਤੀ ਪ੍ਰਿੰਟ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ । |
13:28 | ਹੇਠ ਲਿਖੇ ਲਿੰਕ ‘ਤੇ ਮੌਜੂਦ ਵੀਡਿਓ, ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲ ਪ੍ਰੋਜੈਕਟ ਦਾ ਸਾਰ ਕਰਦੀ ਹੈ। ਕ੍ਰਿਪਾ ਕਰਕੇ ਇਸ ਨੂੰ ਡਾਊਂਨਲੋਡ ਕਰੋ ਅਤੇ ਵੇਖੋ। |
13:36 | ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲ ਪ੍ਰੋਜੇਕਟ ਟੀਮ, ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵਰਕਸ਼ਾਪਸ ਚਲਾਉਂਦੀਆਂ ਹਨ। ਆਨਲਾਇਨ ਟੈਸਟ ਪਾਸ ਕਰਨ ਵਾਲਿਆਂ ਨੂੰ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਵੀ ਦਿੱਤੇ ਜਾਂਦੇ ਹਨ। ਜ਼ਿਆਦਾ ਜਾਣਕਾਰੀ ਦੇ ਲਈ, ਕ੍ਰਿਪਾ ਕਰਕੇ ਸਾਨੂੰ ਲਿਖੋ। |
13:47 | ਕ੍ਰਿਪਾ ਕਰਕੇ ਆਪਣੀ ਸਮੇਂਬੱਧ ਕਵੇਰੀ ਇਸ ਫੋਰਮ ਵਿੱਚ ਪੋਸਟ ਕਰੋ । |
13:51 | ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲ ਪ੍ਰੋਜੈਕਟ NMEICT, MHRD, ਭਾਰਤ ਸਰਕਾਰ ਦੁਆਰਾ ਪ੍ਰਮਾਣਿਤ ਹੈ। ਇਸ ਮਿਸ਼ਨ ‘ਤੇ ਜ਼ਿਆਦਾ ਜਾਣਕਾਰੀ ਦਿਖਾਏ ਗਏ ਲਿੰਕ ‘ਤੇ ਉਪਲੱਬਧ ਹੈ। |
14:03 | ਮੈਂ ਨਵਦੀਪ ਤੁਹਾਡੇ ਤੋਂ ਇਜ਼ਾਜਤ ਲੈਂਦਾ ਹਾਂ। ਸਾਡੇ ਨਾਲ ਜੁੜਣ ਦੇ ਲਈ ਧੰਨਵਾਦ। |