Linux-AWK/C2/Loops-in-awk/Kannada

From Script | Spoken-Tutorial
Revision as of 13:22, 27 July 2019 by Sandhya.np14 (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Time
Narration
00:01 Loops in awk ಎಂಬ ಈ ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಗೆ ನಿಮಗೆ ಸ್ವಾಗತ.
00:06 ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ನಾವು, awk ನಲ್ಲಿ:

while, do-while, for ಮತ್ತು ಇನ್ನೂ ಹಲವು ‘ಲೂಪಿಂಗ್ ಕನ್ಸ್ಟ್ರಕ್ಟ್’ ಗಳ (looping constructs) ಬಗ್ಗೆ ಕಲಿಯುವೆವು.

00:16 ಇದನ್ನು ಕೆಲವು ಉದಾಹರಣೆಗಳ ಮೂಲಕ ಮಾಡುವೆವು.
00:20 ಈ ಟ್ಯುಟೋರಿಯಲ್ ಅನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡಲು, ನಾನು:

Ubuntu Linux 16.04 ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂ ಹಾಗೂ gedit ಟೆಕ್ಸ್ಟ್-ಎಡಿಟರ್ 3.20.1 ಅನ್ನು ಬಳಸುತ್ತಿದ್ದೇನೆ.

00:32 ನಿಮ್ಮ ಆಯ್ಕೆಯ ಯಾವುದೇ ಟೆಕ್ಸ್ಟ್-ಎಡಿಟರ್ ಅನ್ನು ನೀವು ಬಳಸಬಹುದು.
00:36 ಈ ಟ್ಯುಟೋರಿಯಲ್ ಅನ್ನು ಅಭ್ಯಾಸ ಮಾಡಲು, ನೀವು ನಮ್ಮ ವೆಬ್‌ಸೈಟ್‌ನಲ್ಲಿಯ ಹಿಂದಿನ awk ಟ್ಯುಟೋರಿಯಲ್ ಗಳನ್ನು ನೋಡಿರಬೇಕು.
00:43 ನಿಮಗೆ C ಅಥವಾ C++ ನಂತಹ ಯಾವುದೇ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಪರಿಚಯವಿರಬೇಕು.
00:50 ಇಲ್ಲದಿದ್ದರೆ, ದಯವಿಟ್ಟು ನಮ್ಮ ವೆಬ್‌ಸೈಟ್‌ನಲ್ಲಿನ ಸಂಬಂಧಿತ ಟ್ಯುಟೋರಿಯಲ್ ಗಳನ್ನು ನೋಡಿ.
00:56 ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ಬಳಸಲಾದ ಫೈಲ್‌ಗಳು, ಇದೇ ಪೇಜ್ ನಲ್ಲಿನ Code Files ಲಿಂಕ್‌ನಲ್ಲಿ ಲಭ್ಯವಿರುತ್ತವೆ.

ದಯವಿಟ್ಟು ಅವುಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ, ಎಕ್ಸ್ಟ್ರ್ಯಾಕ್ಟ್ (extract) ಮಾಡಿ.

01:06 ಒಂದು ಅಥವಾ ಹೆಚ್ಚು ಕ್ರಿಯೆಗಳನ್ನು ಪದೇ ಪದೇ ಮಾಡಲು 'ಲೂಪ್' ನಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
01:12 while, do-while ಮತ್ತು for ಇವು awk ನಲ್ಲಿ ಲಭ್ಯವಿರುವ ಲೂಪ್ ಗಳಾಗಿವೆ.
01:18 while ಲೂಪ್ ನ ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ಇಲ್ಲಿ ನೋಡಬಹುದು.
01:22 While ಲೂಪ್, ಗೊತ್ತುಪಡಿಸಿದ ಕಂಡಿಶನ್ true ಆಗಿದೆಯೇ ಎಂದು ಮೊದಲು ಪರೀಕ್ಷಿಸುತ್ತದೆ.
01:27 ಹೌದು ಎಂದಾದರೆ, ಅದು body ಯಲ್ಲಿನ ಕೋಡ್ ಅನ್ನು ಎಕ್ಸೀಕ್ಯೂಟ್ ಮಾಡುತ್ತದೆ.

ಗೊತ್ತುಪಡಿಸಿದ while ಕಂಡಿಶನ್ true ಇರುವವರೆಗೂ ಈ 'ಲೂಪ್' ಪುನರಾವರ್ತನೆಯಾಗುತ್ತದೆ.

01:37 ನಾವು ಮೊದಲು ಬಳಸಿದ awkdemo.txt ಫೈಲ್ ಅನ್ನೇ ಮತ್ತೆ ಬಳಸುತ್ತೇವೆ.
01:43 ನಾನು ಈಗಾಗಲೇ while_loop.awk ಎಂಬ ಹೆಸರಿನ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಬರೆದಿದ್ದೇನೆ.
01:48 ಇದೇ ಫೈಲ್, ಈ ಟ್ಯುಟೋರಿಯಲ್ ನ Code Files ಲಿಂಕ್ ನಲ್ಲಿ ಲಭ್ಯವಿದೆ.
01:53 ಇಲ್ಲಿ, ನಾವು Pipe ಚಿಹ್ನೆಯನ್ನು, 'ಫೀಲ್ಡ್ ಸೆಪರೇಟರ್' ಎಂದು ಸೆಟ್ ಮಾಡಿದ್ದೇವೆ.
01:58 ಮೊದಲಿಗೆ, ನಾವು 'ಲೂಪ್ ವೇರಿಯೇಬಲ್ i' ನ ವ್ಯಾಲ್ಯೂಅನ್ನು 1 ಎಂದು ಸೆಟ್ ಮಾಡಬೇಕು.
02:04 ಇಲ್ಲಿ, ನಾವು ಇನ್ನೂ ಒಂದು ವೇರಿಯಬಲ್ f ಅನ್ನು ತೆಗೆದುಕೊಂಡು, ಅದನ್ನು 1 ಗೆ ಇನಿಶಿಯಲೈಸ್ ಮಾಡಿದ್ದೇವೆ.
02:10 ವೇರಿಯಬಲ್ f, ಪ್ರತಿಯೊಂದು ರೆಕಾರ್ಡ್ ಗಾಗಿ, 'ಫೀಲ್ಡ್ ಕೌಂಟರ್' ಅಥವಾ ಫೀಲ್ಡ್ ಗಳ ಸ್ಥಾನವನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ.
02:17 ಈಗ, ನಾವು while ಕಂಡಿಶನ್ ನಲ್ಲಿ, i 3 ಕ್ಕಿಂತ ಕಡಿಮೆ ಅಥವಾ ಸಮನಾಗಿದೆಯೇ ಎಂದು ನೋಡುತ್ತೇವೆ.
02:23 ಹೌದು ಎಂದಾದರೆ, ಅದು ಆ ರೆಕಾರ್ಡ್‌ ಗಾಗಿ awkdemo.txt ಫೈಲ್‌ ನಲ್ಲಿ fth ಫೀಲ್ಡ್ ನಲ್ಲಿಯ ವ್ಯಾಲ್ಯೂವನ್ನು ಪ್ರಿಂಟ್ ಮಾಡುತ್ತದೆ.
02:31 ನಂತರ, ನಾವು 'ಫೀಲ್ಡ್ ಕೌಂಟರ್ f ' ಅನ್ನು 1 ರಿಂದ ಹೆಚ್ಚಿಸುತ್ತೇವೆ.
02:36 ಆನಂತರ, ನಾವು 'ಲೂಪ್ ವೇರಿಯಬಲ್ i ' ನ ವ್ಯಾಲ್ಯೂವನ್ನು ಸಹ 1 ರಿಂದ ಹೆಚ್ಚಿಸುತ್ತೇವೆ.
02:43 printf, ಪ್ರತಿಯೊಂದು ಸಾಲಿನ ಕೊನೆಯಲ್ಲಿ newline character ಅನ್ನು ಪ್ರಿಂಟ್ ಮಾಡಲು ಇದೆ.
02:49 awkdemo.txt ಫೈಲ್‌ನಲ್ಲಿರುವ ಎಲ್ಲಾ ರೆಕಾರ್ಡ್‌ ಗಳಿಗಾಗಿ, ಈ 'ಲೂಪ್' ಅನ್ನು ಎಕ್ಸೀಕ್ಯೂಟ್ ಮಾಡಲಾಗುತ್ತದೆ.
02:55 ಎಂದರೆ, ಪ್ರತಿಯೊಂದು ರೆಕಾರ್ಡ್‌ ನ ಮೊದಲ 3 ಫೀಲ್ಡ್ ಗಳನ್ನು ಪ್ರಿಂಟ್ ಮಾಡಲಾಗುತ್ತದೆ.
03:00 ಈಗ ಈ ಕೋಡ್ ಅನ್ನು ನಾವು ಎಕ್ಸೀಕ್ಯೂಟ್ ಮಾಡೋಣ.
03:03 CTRL, ALT ಮತ್ತು T ಕೀಗಳನ್ನು ಒತ್ತುವ ಮೂಲಕ 'ಟರ್ಮಿನಲ್' ಅನ್ನು ತೆರೆಯಿರಿ.
03:09 cd ಕಮಾಂಡ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು, Code Files ಅನ್ನು ನೀವು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ, ಎಕ್ಸ್ಟ್ರ್ಯಾಕ್ಟ್ (extract) ಮಾಡಿರುವ ಫೋಲ್ಡರ್‌ಗೆ ಹೋಗಿ.
03:16 ಈಗ, ಹೀಗೆ ಟೈಪ್ ಮಾಡಿ: awk space hyphen small f space while_loop.awk space awkdemo.txt

Enter ಅನ್ನು ಒತ್ತಿ.

03:29 ಔಟ್‌ಪುಟ್‌ನಲ್ಲಿ, ಎಲ್ಲಾ ಸಾಲುಗಳ ಮೊದಲ ಮೂರು ಫೀಲ್ಡ್ ಗಳು ಇರುವುದನ್ನು ಗಮನಿಸಿ.
03:35 do-while ಲೂಪ್ ನೊಂದಿಗೆ ನಾವು ಇದನ್ನೇ ಮಾಡೋಣ.
03:38 do-while ಲೂಪ್ ನ ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ಇಲ್ಲಿ ಕಾಣಬಹುದು.
03:42 do-while ಲೂಪ್, ಯಾವಾಗಲೂ body ಒಳಗಿನ ಕೋಡ್ ಅನ್ನು ಒಮ್ಮೆ ಎಕ್ಸೀಕ್ಯೂಟ್ ಮಾಡುತ್ತದೆ.
03:47 ನಂತರ ಅದು ಗೊತ್ತುಪಡಿಸಿದ ಕಂಡಿಶನ್ ಅನ್ನು ಪರೀಕ್ಷಿಸುತ್ತದೆ. ಈ ಕಂಡಿಶನ್, true ಆಗಿರುವವರೆಗೆ body ಒಳಗಿನ ಕೋಡ್ ಅನ್ನು ಪುನರಾವರ್ತಿಸುತ್ತದೆ.
03:56 ನಾನು ಈಗಾಗಲೇ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಬರೆದು ಅದನ್ನು do_loop.awk ಎಂದು ಹೆಸರಿಸಿದ್ದೇನೆ.

ಇದೇ ಫೈಲ್ Code Files ಲಿಂಕ್ ನಲ್ಲಿ ಲಭ್ಯವಿದೆ.

04:06 ಈ ಕೋಡ್‌ನಲ್ಲಿ, ಇವುಗಳು do ಲೂಪ್‌ನೊಳಗಿನ ಸ್ಟೇಟ್ಮೆಂಟ್ ಗಳಾಗಿವೆ. ಇವುಗಳನ್ನು ಮೊದಲು ಎಕ್ಸೀಕ್ಯೂಟ್ ಮಾಡಲಾಗುತ್ತದೆ. ಇದು ಪರೀಕ್ಷಿಸಲಾಗುವ ಕಂಡಿಶನ್ ಆಗಿದೆ.
04:15 ಆನಂತರ, ಕಂಡಿಶನ್ true ಎಂದು ಇರುವವರೆಗೂ, ಲೂಪ್ ಒಳಗಿನ ಸ್ಟೇಟ್ಮೆಂಟ್ ಗಳನ್ನು ಪದೇ ಪದೇ ಎಕ್ಸೀಕ್ಯೂಟ್ ಮಾಡಲಾಗುತ್ತದೆ.
04:23 ಈ ಲೂಪ್, awkdemo.txt ಫೈಲ್‌ನಲ್ಲಿನ ಎಲ್ಲಾ ರೆಕಾರ್ಡ್ ಗಳಿಗಾಗಿ ಪುನರಾವರ್ತಿಸುತ್ತದೆ.

ಎಂದರೆ, ಎಲ್ಲಾ ರೆಕಾರ್ಡ್ ಗಳಿಗಾಗಿ, ಮೊದಲ 3 ಫೀಲ್ಡ್ ಗಳು ಪ್ರಿಂಟ್ ಮಾಡಲ್ಪಡುತ್ತವೆ.

04:33 ಟರ್ಮಿನಲ್ ಗೆ ಬದಲಾಯಿಸುತ್ತೇನೆ ಮತ್ತು ಅದನ್ನು ಖಾಲಿ ಮಾಡುತ್ತೇನೆ.
04:38 ಈಗ, ಹೀಗೆ ಟೈಪ್ ಮಾಡಿ: awk space hyphen small f space do underscore loop dot awk space awkdemo dot txt.

Enter ಅನ್ನು ಒತ್ತಿ.

04:52 ನಾವು ಅದೇ ಔಟ್ಪುಟ್ ಅನ್ನು ಪಡೆಯುತ್ತೇವೆ. ಹಾಗಿದ್ದಲ್ಲಿ, while ಮತ್ತು do-while ಎರಡೂ ಲೂಪ್‌ಗಳು ಏಕೆ ಇರುತ್ತವೆ?
04:58 ನಾವು ಈ ವ್ಯತ್ಯಾಸವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳೋಣ.
05:00 while underscore loop dot awk ಫೈಲ್‌ಗೆ ಬದಲಾಯಿಸಿ.
05:05 ಈಗ, 'ಲೂಪ್ ಕೌಂಟರ್ i ' ನ ವ್ಯಾಲ್ಯೂಅನ್ನು 1 ರಿಂದ 4 ಕ್ಕೆ ಬದಲಾಯಿಸಿ.
05:11 ಇದು ಗೊತ್ತುಪಡಿಸಿದ ಕಂಡಿಶನ್ ಅನ್ನು ಮೊದಲಿನಿಂದ false ಮಾಡುತ್ತದೆ.

ಇದರ ಅರ್ಥ, ನಾವು ಯಾವುದೇ ಔಟ್ಪುಟ್ ಅನ್ನು ಪಡೆಯಬಾರದು.

05:19 ಫೈಲ್ ಅನ್ನು ಸೇವ್ ಮಾಡಿ ಮತ್ತು ಟರ್ಮಿನಲ್ ಗೆ ಬದಲಾಯಿಸಿ.
05:22 ಟರ್ಮಿನಲ್ ಅನ್ನು ಖಾಲಿ ಮಾಡುತ್ತೇನೆ.

ಈಗ, while ಲೂಪ್ ಅನ್ನು ಎಕ್ಸೀಕ್ಯೂಟ್ ಮಾಡಲು ನಿಮಗೆ ಕಮಾಂಡ್ ಸಿಗುವವರೆಗೆ, ಅಪ್-ಆರೋ (up arrow) ಕೀಯನ್ನು ಒತ್ತಿ.

05:30 ಈಗ Enter ಅನ್ನು ಒತ್ತಿ.
05:32 ನೋಡಿ, ಖಾಲಿ ಸಾಲುಗಳ ಹೊರತು ನಾವು ಯಾವುದೇ ಔಟ್‌ಪುಟ್ ಪಡೆಯುತ್ತಿಲ್ಲ.
05:37 awkdemo.txt ಫೈಲ್‌ನಲ್ಲಿನ ಪ್ರತಿಯೊಂದು ರೆಕಾರ್ಡ್‌ಗಾಗಿ, ಔಟ್‌ಪುಟ್‌ನಲ್ಲಿ ಖಾಲಿ ಸಾಲುಗಳು ಪ್ರಿಂಟ್ ಮಾಡಲ್ಪಡುತ್ತವೆ.
05:44 ಈಗ, do ಲೂಪ್ ಫೈಲ್‌ನಲ್ಲಿ ಕೆಲವು ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡೋಣ.
05:48 do underscore loop dot awk ಫೈಲ್‌ಗೆ ಬದಲಾಯಿಸಿ.
05:53 i’ ವ್ಯಾಲ್ಯೂ ಅನ್ನು 1 ರಿಂದ 4 ಕ್ಕೆ ಬದಲಾಯಿಸಿ.
05:57 ಫೈಲ್ ಅನ್ನು ಸೇವ್ ಮಾಡಿ ಮತ್ತು ಟರ್ಮಿನಲ್ ಗೆ ಬದಲಾಯಿಸಿ.
06:01 ಟರ್ಮಿನಲ್ ಅನ್ನು ಖಾಲಿ ಮಾಡಿ.

ಈಗ, do ಲೂಪ್ ಗಾಗಿ ನಿಮಗೆ ಕಮಾಂಡ್ ಸಿಗುವವರೆಗೆ, ಅಪ್-ಆರೋ (up arrow) ಕೀಯನ್ನು ಒತ್ತಿ. ಮತ್ತು Enter ಅನ್ನು ಒತ್ತಿ.

06:10 ಔಟ್‌ಪುಟ್‌ನಲ್ಲಿ, ಪ್ರತಿಯೊಂದು ಸಾಲಿನ ಮೊದಲನೆಯ ಫೀಲ್ಡ್ ಅನ್ನು ಮಾತ್ರ ಪ್ರಿಂಟ್ ಮಾಡಲಾಗಿದೆ. ಏನು ಕಾರಣವಿರಬಹುದು?
06:16 ಮೊದಲು, ಪ್ರತಿಯೊಂದು ಸಾಲಿಗಾಗಿ awk ಮೊದಲನೆಯ ಫೀಲ್ಡ್ ನ ವ್ಯಾಲ್ಯೂವನ್ನು ಪ್ರಿಂಟ್ ಮಾಡುತ್ತದೆ. ಏಕೆಂದರೆ, ವೇರಿಯಬಲ್ f ನ ವ್ಯಾಲ್ಯೂ, '1' ರಿಂದ ಅರಂಭವಾಗುತ್ತದೆ.

ನಂತರ ಕಂಡಿಶನ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಲಾಗುತ್ತದೆ.

06:28 'ಲೂಪ್ ಕೌಂಟರ್ i' ನ ವ್ಯಾಲ್ಯೂ 4 ಆಗಿರುವುದರಿಂದ, ಕಂಡಿಶನ್ ಇಲ್ಲಿ false ಆಗಿದೆ.

ಆದ್ದರಿಂದ, 'ಲೂಪ್' ಅನ್ನು ಆ ರೆಕಾರ್ಡ್ ಗಾಗಿ ಅಲ್ಲಿಯೇ ಕೊನೆಗೊಳಿಸಲಾಗುತ್ತದೆ.

06:39 ಈ ಲೂಪ್, awkdemo.txt ಫೈಲ್‌ನಲ್ಲಿಯ ಎಲ್ಲಾ ರೆಕಾರ್ಡ್ ಗಳಿಗಾಗಿ ಪುನರಾವರ್ತಿಸುತ್ತದೆ.
06:44 ಇದರರ್ಥ, ಪ್ರತಿಯೊಂದು ರೆಕಾರ್ಡ್‌ ಗಾಗಿ, ಮೊದಲನೆಯ ಫೀಲ್ಡ್, ಪ್ರಿಂಟ್ ಮಾಡಲ್ಪಡುತ್ತದೆ.
06:49 ಪ್ರತಿಯೊಂದು ರೆಕಾರ್ಡ್‌ ಗಾಗಿ, ಒಮ್ಮೆಯಾದರೂ ನಾವು ಔಟ್‌ಪುಟ್ ಅನ್ನು ಪಡೆಯುತ್ತಿದ್ದೇವೆ.
06:53 ಬೇರೆ ಯಾವುದೇ ಕಂಡಿಶನ್ ಅನ್ನು ಲೆಕ್ಕಿಸದೆ, ಒಮ್ಮೆಯಾದರೂ ಎಕ್ಸೀಕ್ಯೂಟ್ ಮಾಡಬೇಕಾದ ಕೆಲಸಕ್ಕಾಗಿ do-while ಲೂಪ್ ಅನ್ನು ಬಳಸಿ.
07:01 for ಲೂಪ್‌ ನೊಂದಿಗೆ ಸಹ ನಾವು ಇದನ್ನೇ ಮಾಡಬಹುದು.
07:05 for ಲೂಪ್‌ ನ ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ಇಲ್ಲಿ ನೋಡಬಹುದು.
07:09 initialization ಅನ್ನು ಎಕ್ಸೀಕ್ಯೂಟ್ ಮಾಡುವ ಮೂಲಕ, for ಸ್ಟೇಟ್ಮೆಂಟ್ ಆರಂಭವಾಗುತ್ತದೆ.
07:14 ಕಂಡಿಶನ್ true ಇರುವವರೆಗೆ ಅದು ಒಳಗಿನ ಸ್ಟೇಟ್ಮೆಂಟ್ ಗಳನ್ನು ಎಕ್ಸೀಕ್ಯೂಟ್ ಮಾಡುತ್ತದೆ, ನಂತರ ಇನ್ಕ್ರಿಮೆಂಟ್ ಮಾಡುತ್ತದೆ. ಹೀಗೆ ಲೂಪ್ ನ ಪುನರಾವರ್ತನೆಯಾಗುತ್ತದೆ.
07:23 ನಿಮಗೆ C ಅಥವಾ C++ ನಂತಹ ಭಾಷೆಗಳ ಪರಿಚಯವಿದೆ ಎಂದು ಭಾವಿಸಿ, ನಾನು ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ಹೆಚ್ಚು ವಿವರಿಸುತ್ತಿಲ್ಲ.
07:30 ಈ ಕಂಡಿಶನ್ ಗಾಗಿ, for ಲೂಪ್‌ ಈ ರೀತಿಯಾಗಿ ಕಾಣುತ್ತದೆ.
07:35 ಇಲ್ಲಿ, ಇನಿಶಿಯಲೈಜೇಶನ್, ಕಂಡಿಶನ್ ನ ಪರೀಕ್ಷೆ ಮತ್ತು ವೇರಿಯೆಬಲ್ ಅನ್ನು ಹೆಚ್ಚಿಸುವುದನ್ನು ಒಂದೇ ಸಾಲಿನಲ್ಲಿ ಮಾಡಲಾಗುತ್ತದೆ.
07:43 ಇದನ್ನು ನೀವೇ ಪ್ರಯತ್ನಿಸಿ.
07:46 break, continue, exit ಎಂಬ ಇನ್ನೂ ಕೆಲವು ‘ಲೂಪಿಂಗ್ ಕನ್ಸ್ಟ್ರಕ್ಟ್’ ಗಳು (looping constructs) ಇವೆ.
07:53 ಇವುಗಳಿಗೆ ಸಂಬಂಧಿತ ಉದಾಹರಣೆಗಳನ್ನು ನಾವು ಮುಂದಿನ ಟ್ಯುಟೋರಿಯಲ್ ಗಳಲ್ಲಿ ನೋಡುತ್ತೇವೆ.
07:58 ನಮ್ಮ ಫೈಲ್‌ನಲ್ಲಿ, ಒಂದೇ ಸಾಲು ಮತ್ತು ಅನೇಕ ಸಾಲುಗಳಿರುವ ಕಾಮೆಂಟ್‌ಗಳನ್ನು ನಾವು ಹೊಂದಿರಬಹುದು.
08:03 ಇಲ್ಲಿ, ಒಂದೇ ಸಾಲಿನ ಕಾಮೆಂಟ್‌ ಗಳನ್ನು ಒಂದೇ ಹ್ಯಾಶ್(#) ಚಿಹ್ನೆಯೊಂದಿಗೆ ಡಿಕ್ಲೇರ್ ಮಾಡಿರುವುದನ್ನು ಗಮನಿಸಿ.
08:10 ಅನೇಕ ಸಾಲುಗಳಿರುವ ಕಾಮೆಂಟ್ ಗಳನ್ನು, ಡಬಲ್ ಹ್ಯಾಶ್ (##) ಚಿಹ್ನೆಯೊಂದಿಗೆ ಡಿಕ್ಲೇರ್ ಮಾಡಲಾಗುತ್ತದೆ.
08:16 ಈಗ, ಈ ಕಾಮೆಂಟ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ, ಔಟ್‌ಪುಟ್‌ನಲ್ಲಿ ಪ್ರಿಂಟ್ ಮಾಡುವುದರಲ್ಲಿ ಯಾವುದೇ ಅರ್ಥವಿಲ್ಲ.
08:22 ನಾವು 'ಹ್ಯಾಶ್' (##) ಚಿಹ್ನೆಯಿಂದ ಪ್ರಾರಂಭವಾಗುವ ಸಾಲುಗಳನ್ನು ಬಿಟ್ಟುಬಿಡಬೇಕು.

ನಾವು ಇದನ್ನು ಹೇಗೆ ಮಾಡಬಹುದು?

08:28 8000 ಕ್ಕಿಂತ ಹೆಚ್ಚು ಸ್ಟೈಪೆಂಡ್ ಪಡೆಯುತ್ತಿರುವವರಿಗೆ, 50% ಇನ್ಕ್ರಿಮೆಂಟ್ ಅನ್ನು ಕೊಡುವ ಉದಾಹರಣೆಯನ್ನು ನೆನಪಿಸಿಕೊಳ್ಳಿ.
08:36 ಕಾಮೆಂಟ್‌ಗಳನ್ನು ಬಿಟ್ಟುಬಿಡಲು ನಾವು ಅದೇ ಉದಾಹರಣೆಯನ್ನು ಬಳಸುತ್ತೇವೆ.
08:40 ಈ ಎಕ್ಸೀಕ್ಯೂಶನ್ ಗಾಗಿ, ಇಲ್ಲಿ ತೋರಿಸಿದಂತೆ ನಾನು next.awk ಹೆಸರಿನ ಫೈಲ್ ಅನ್ನು ಕ್ರಿಯೇಟ್ ಮಾಡಿದ್ದೇನೆ.
08:47 ಈಗ, ಈ ಕಮಾಂಡ್ ನ ಅರ್ಥವೇನು?
08:50 awk, ಪ್ರತಿಯೊಂದು ಸಾಲಿನ ಆರಂಭದಲ್ಲಿ, caret sign hash symbol(^#) ಪ್ಯಾಟರ್ನ್ ಗಾಗಿ ಹುಡುಕುತ್ತದೆ.
08:57 ಪ್ಯಾಟರ್ನ್ ಸಿಕ್ಕರೆ, next ಕೀವರ್ಡ್, ಪ್ರಸ್ತುತ ಸಾಲನ್ನು ತಕ್ಷಣ ಬಿಟ್ಟುಬಿಡಲು awk ಗೆ ಹೇಳುತ್ತದೆ.
09:04 ಆಗ ಫೈಲ್‌ನಲ್ಲಿಯ ಮುಂದಿನ ಸಾಲಿನಿಂದ, awk ಪ್ರೊಸೆಸ್ ಮಾಡಲು ಆರಂಭಿಸುತ್ತದೆ.

ಇದು ಪ್ರೊಸೆಸ್ ಮಾಡುವ ಸಮಯವನ್ನು ಉಳಿಸುತ್ತದೆ.

09:12 'ಟರ್ಮಿನಲ್' ಗೆ ಬದಲಾಯಿಸಿ. ಇಲ್ಲಿ ತೋರಿಸಿದಂತೆ ಕಮಾಂಡ್ ಅನ್ನು ಟೈಪ್ ಮಾಡಿ ಮತ್ತು Enter ಅನ್ನು ಒತ್ತಿ.
09:20 ಯಾವುದೇ ಕಾಮೆಂಟ್‌ಗಳಿಲ್ಲದೆ ನಾವು ಔಟ್‌ಪುಟ್ ಅನ್ನು ಪಡೆಯುತ್ತೇವೆ.
09:24 ನಾವು ವಿದ್ಯಾರ್ಥಿಗಳ ರೆಕಾರ್ಡ್ ಗಳನ್ನು ಒಂದೇ ಫಾರ್ಮ್ಯಾಟ್ ನ ಅನೇಕ ಫೈಲ್‌ಗಳಲ್ಲಿ, ಎಂದರೆ awkdemo_mod.txt ಮತ್ತು awkdemo2.txt ಗಳಲ್ಲಿ ಹೊಂದಿದ್ದೇವೆ ಎಂದು ಭಾವಿಸೋಣ.
09:37 ನೋಡಿ, ಇದು ನಮ್ಮ ಹಿಂದಿನ ಫೈಲ್‌ ಅನ್ನು ಹೋಲುತ್ತದೆ.
09:41 ಇದು 'ಹ್ಯಾಶ್' ಚಿಹ್ನೆಯೊಂದಿಗೆ ಆರಂಭವಾಗುವ ಕಾಮೆಂಟ್‌ಗಳನ್ನು ಸಹ ಹೊಂದಿದೆ.
09:45 ಮತ್ತು, ಇದು ಕೊನೆಯಲ್ಲಿ ಡಬಲ್ ಹ್ಯಾಶ್ ಚಿಹ್ನೆಯೊಂದಿಗೆ (##) ಬಹಳಷ್ಟು ಟೆಕ್ಸ್ಟ್ ಅನ್ನು ಹೊಂದಿದೆ.
09:50 ನಮ್ಮ ಡೇಟಾ, ಎರಡು ವಿಭಿನ್ನ ಫೈಲ್‌ಗಳಲ್ಲಿದೆ.

ಎಲ್ಲಾ ವಿದ್ಯಾರ್ಥಿಗಳಿಗೆ ಇನ್ಕ್ರಿಮೆಂಟ್ ಅನ್ನು ಕೊಡಲು, awk ಎರಡೂ ಫೈಲ್‌ಗಳನ್ನು ಪ್ರೊಸೆಸ್ ಮಾಡಬೇಕು.

09:59 ನಾವು ಮೊದಲನೆಯ ಫೈಲ್‌ ನ 'ಎರಡು ಹ್ಯಾಶ್' (##) ಚಿಹ್ನೆಯನ್ನು ತಲುಪಿದ ನಂತರ, awk ಆ ಫೈಲ್ ಅನ್ನು ಪ್ರೊಸೆಸ್ ಮಾಡುವುದನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ನಿಲ್ಲಿಸಬೇಕು.
10:06 ನಂತರ ಅದು ಮುಂದಿನ ಫೈಲ್‌ ಅನ್ನು ಎಕ್ಸೀಕ್ಯೂಟ್ ಮಾಡಲು ಪ್ರಾರಂಭಿಸಬೇಕು.

ಇದು ಪ್ರೊಸೆಸ್ ಮಾಡುವ ಸಮಯವನ್ನು ಉಳಿಸುತ್ತದೆ.

10:13 next.awk ಅನ್ನು ಇಲ್ಲಿ ತೋರಿಸಿದಂತೆ ಮಾರ್ಪಡಿಸಿ.
10:17 BEGIN ಸ್ಟೇಟ್ಮೆಂಟ್ ಕೆಳಗೆ, ನಾನು: dollar zero tilde slash caret symbol double hash slash within braces nextfile semicolon ಎಂದು ಸೇರಿಸಿದ್ದೇನೆ.
10:29 ಇದು, ಪ್ರತಿಯೊಂದು ಸಾಲಿನ ಆರಂಭದಲ್ಲಿ, 'ಡಬಲ್ ಹ್ಯಾಶ್' (#) ಚಿಹ್ನೆಗಾಗಿ ಹುಡುಕುವುದು.
10:34 ಸಿಕ್ಕರೆ, awk ಮುಂದಿನ ಫೈಲ್ ಅನ್ನು ಪ್ರೊಸೆಸ್ ಮಾಡಲು, ಪ್ರಸ್ತುತ ಫೈಲ್ ಅನ್ನು ಬಿಟ್ಟುಬಿಡುತ್ತದೆ.
10:39 ಈ ಫೈಲ್ ಅನ್ನು ಸೇವ್ ಮಾಡಿ.
10:41 'ಟರ್ಮಿನಲ್' ಗೆ ಬದಲಾಯಿಸಿ ಮತ್ತು ಕೆಳಗಿನ ಕಮಾಂಡ್ ಅನ್ನು ಟೈಪ್ ಮಾಡಿ.

Enter ಅನ್ನು ಒತ್ತಿ.

10:48 ನೋಡಿ, ನಾವು ಎರಡೂ ಫೈಲ್‌ಗಳಿಂದ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಪಡೆಯುತ್ತಿದ್ದೇವೆ.
10:53 ಇಲ್ಲಿಗೆ ನಾವು ಈ ಟ್ಯುಟೋರಿಯಲ್ ನ ಕೊನೆಗೆ ಬಂದಿದ್ದೇವೆ.

ಸಂಕ್ಷಿಪ್ತವಾಗಿ,

10:58 ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ನಾವು, awk ನಲ್ಲಿ :

while, do… while, for, next, nextfile ಇವುಗಳ ಬಗ್ಗೆ ಕಲಿತಿದ್ದೇವೆ.

11:06 ಒಂದು ಅಸೈನ್ಮೆಂಟ್:

awkdemo2.txt ನಲ್ಲಿ, ವಿದ್ಯಾರ್ಥಿಗಳ ರೆಕಾರ್ಡ್ ಗಳಿಗಾಗಿ, 'ಇನ್ಪುಟ್ ಫೈಲ್' ನಲ್ಲಿ ಎಷ್ಟು ಫೀಲ್ಡ್ ಗಳಿವೆ ಎಂದು ಲೆಕ್ಕಿಸದೆ ‘ಸರಿ’ ಫೀಲ್ಡ್ ಗಳನ್ನು, ಎಂದರೆ, ಫೀಲ್ಡ್ 2, ಫೀಲ್ಡ್ 4 etc. ಮಾತ್ರ ಪ್ರಿಂಟ್ ಮಾಡಿ.

11:22 ಈ ಕೆಳಗಿನ ಲಿಂಕ್ ನಲ್ಲಿ ಲಭ್ಯವಿರುವ ವೀಡಿಯೋ, “ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್” ಪ್ರಕಲ್ಪದ ಸಾರಾಂಶವಾಗಿದೆ. ಇದನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿ ವೀಕ್ಷಿಸಿ.
11:30 “ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್” ಪ್ರಕಲ್ಪದ ತಂಡವು ಕಾರ್ಯಶಾಲೆಗಳನ್ನು ನಡೆಸುತ್ತದೆ ಮತ್ತು ಆನ್ಲೈನ್ ಪರೀಕ್ಷೆಯಲ್ಲಿ ಉತ್ತೀರ್ಣರಾದವರಿಗೆ ಪ್ರಮಾಣ ಪತ್ರವನ್ನು ಕೊಡುತ್ತದೆ.

ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ದಯವಿಟ್ಟು ನಮಗೆ ಬರೆಯಿರಿ.

11:43 ಈ 'ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್' ನಲ್ಲಿ ನಿಮಗೆ ಪ್ರಶ್ನೆಗಳಿವೆಯೇ?

ದಯವಿಟ್ಟು ಈ ಸೈಟ್ ಗೆ ಭೆಟ್ಟಿಕೊಡಿ:

11:49 "ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್” ಪ್ರಕಲ್ಪವು NMEICT, MHRD ಮೂಲಕ ಭಾರತ ಸರ್ಕಾರದ ಅನುದಾನವನ್ನು ಪಡೆದಿದೆ.

ಈ ಮಿಷನ್ ನ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಯು ಈ ಕೆಳಗಿನ ಲಿಂಕ್ ನಲ್ಲಿ ಲಭ್ಯವಿರುತ್ತದೆ.

12:01 ಈ ಸ್ಕ್ರಿಪ್ಟ್ ನ ಅನುವಾದಕಿ IIT Bombay ಯಿಂದ ಸಂಧ್ಯಾ ಪುಣೇಕರ್ ಮತ್ತು ಧ್ವನಿ ಶ್ರೀ ನವೀನ್ ಭಟ್, ಉಪ್ಪಿನಪಟ್ಟಣ.

ಧನ್ಯವಾದಗಳು.

Contributors and Content Editors

Sandhya.np14