Linux-AWK/C2/Built-in-Variables-in-awk/Kannada

From Script | Spoken-Tutorial
Revision as of 11:32, 20 July 2019 by Sandhya.np14 (Talk | contribs)

Jump to: navigation, search
Time
Narration
00:01 awk built-in variables and awk script ಎಂಬ ಈ ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಗೆ ನಿಮಗೆ ಸ್ವಾಗತ.
00:07 ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ನಾವು –

'ಬಿಲ್ಟ್-ಇನ್ ವೇರಿಯೆಬಲ್' ಗಳು ಮತ್ತು

awk ಸ್ಕ್ರಿಪ್ಟ್, ಇವುಗಳ ಬಗ್ಗೆ ಕಲಿಯುವೆವು.

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

Ubuntu Linux 16.04 ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂ ಹಾಗೂ

gedit ಟೆಕ್ಸ್ಟ್-ಎಡಿಟರ್ 3.20.1 ಇವುಗಳನ್ನು ಬಳಸುತ್ತಿದ್ದೇನೆ.

00:30 ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ಬಳಸಲಾದ ಫೈಲ್‌ಗಳು, ಇದೇ ಪೇಜ್ ನಲ್ಲಿನ Code Files ಲಿಂಕ್‌ನಲ್ಲಿ ಲಭ್ಯವಿರುತ್ತವೆ.

ದಯವಿಟ್ಟು ಅವುಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ ಬಳಸಿಕೊಳ್ಳಿ.

00:40 ಈ ಟ್ಯುಟೋರಿಯಲ್ ಅನ್ನು ಅಭ್ಯಾಸ ಮಾಡಲು, ನೀವು ಈ ವೆಬ್‌ಸೈಟ್‌ನಲ್ಲಿಯ ಹಿಂದಿನ awk ಟ್ಯುಟೋರಿಯಲ್ ಗಳನ್ನು ನೋಡಿರಬೇಕು.
00:47 ಇಲ್ಲದಿದ್ದರೆ, ದಯವಿಟ್ಟು ಈ ವೆಬ್‌ಸೈಟ್‌ನಲ್ಲಿ ಸಂಬಂಧಿತ ಟ್ಯುಟೋರಿಯಲ್ ಗಳನ್ನು ನೋಡಿ.
00:52 ಮೊದಲಿಗೆ, awk ನಲ್ಲಿಯ ಕೆಲವು ‘ಬಿಲ್ಟ್-ಇನ್ ವೇರಿಯೆಬಲ್’ ಗಳನ್ನು ನೋಡೋಣ.
00:57 ಕ್ಯಾಪಿಟಲ್ RS, ಇನ್ಪುಟ್ ಫೈಲ್ ನಲ್ಲಿಯ 'ರೆಕಾರ್ಡ್ ಸೆಪರೇಟರ್' ಅನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಡೀಫಾಲ್ಟ್ ಆಗಿ, ಇದು newline (ನ್ಯೂ ಲೈನ್) ಆಗಿದೆ.
01:07 ಕ್ಯಾಪಿಟಲ್ FS, ಇನ್ಪುಟ್ ಫೈಲ್ ನಲ್ಲಿಯ ‘ಫೀಲ್ಡ್ ಸೆಪರೇಟರ್’ ಅನ್ನು ಸೂಚಿಸುತ್ತದೆ.
01:13 ಡೀಫಾಲ್ಟ್ ಆಗಿ, FS ನ ವ್ಯಾಲ್ಯೂ whitespace ಆಗಿದೆ.
01:18 ಕ್ಯಾಪಿಟಲ್ ORS – ‘ಔಟ್ಪುಟ್ ರೆಕಾರ್ಡ್ ಸೆಪರೇಟರ್’ ಅನ್ನು ಸೂಚಿಸುತ್ತದೆ.

ಡೀಫಾಲ್ಟ್ ಆಗಿ, ಇದು newline (ನ್ಯೂ ಲೈನ್) ಆಗಿದೆ.

01:27 ಕ್ಯಾಪಿಟಲ್ OFS, ' ಔಟ್ಪುಟ್ ಫೀಲ್ಡ್ ಸೆಪರೇಟರ್' ಅನ್ನು ಸೂಚಿಸುತ್ತದೆ.

ಡೀಫಾಲ್ಟ್ ಆಗಿ, ಇದು whitespace ಆಗಿದೆ.

01:36 ಇವುಗಳಲ್ಲಿ ಪ್ರತಿಯೊಂದರ ಅರ್ಥವನ್ನು ತಿಳಿದುಕೊಳ್ಳೋಣ.
01:40 ಈಗ awkdemo ಫೈಲ್ ಅನ್ನು ನೋಡೋಣ.
01:44 ನಾವು ಈ awkdemo ಫೈಲ್ ಅನ್ನು awk ಕಮಾಂಡ್ ನೊಂದಿಗೆ ಪ್ರೊಸೆಸ್ ಮಾಡುತ್ತಿರುವಾಗ, ಇದು ನಮ್ಮ 'ಇನ್ಪುಟ್' ಫೈಲ್ ಆಗುತ್ತದೆ.
01:51 newline ಕ್ಯಾರೆಕ್ಟರ್ ನಿಂದ ಎಲ್ಲಾ ರೆಕಾರ್ಡ್ ಗಳನ್ನು ಪರಸ್ಪರ ಬೇರ್ಪಡಿಸಿರುವುದನ್ನು ಗಮನಿಸಿ.
01:58 ರೆಕಾರ್ಡ್ ಸೆಪರೇಟರ್ RS ವೇರಿಯೆಬಲ್ ಗಾಗಿ, newline ಡೀಫಾಲ್ಟ್ ವ್ಯಾಲ್ಯೂ ಆಗಿದೆ.

ಹೀಗಾಗಿ, ಬೇರೆ ಏನನ್ನೂ ಮಾಡುವ ಅಗತ್ಯವಿಲ್ಲ.

02:08 ಎಲ್ಲಾ ಫೀಲ್ಡ್ ಗಳನ್ನು 'ಪೈಪ್' ಚಿಹ್ನೆ ಯಿಂದ ಬೇರ್ಪಡಿಸಿರುವುದನ್ನು ಗಮನಿಸಿ.

ಇದರ ಬಗ್ಗೆ awk ಗೆ ನಾವು ಹೇಗೆ ತಿಳಿಸಬಹುದೆಂದು ನೋಡೋಣ.

02:18 ಡೀಫಾಲ್ಟ್ ಆಗಿ, ಸ್ಪೇಸ್ ಗಳು ಅಥವಾ ಟ್ಯಾಬ್‌ಗಳು, ಫೀಲ್ಡ್ ಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸುತ್ತವೆ.
02:24 ಹಿಂದಿನ ಟ್ಯುಟೋರಿಯಲ್ ಗಳಲ್ಲಿ ಕಲಿತಿರುವಂತೆ, ನಾವು ಇದನ್ನು ‘ಹೈಫನ್ ಕ್ಯಾಪಿಟಲ್ F ' ಆಯ್ಕೆಯ ಸಹಾಯದಿಂದ ರಿ-ಸೆಟ್ ಮಾಡಬಹುದು.
02:33 ಅಥವಾ, BEGIN ವಿಭಾಗದಲ್ಲಿ FS ವೇರಿಯಬಲ್ ಅನ್ನು ಬಳಸಿ, ಇದನ್ನು ರಿ-ಸೆಟ್ ಮಾಡಬಹುದು.
02:40 ಇದನ್ನು ಒಂದು ಉದಾಹರಣೆಯ ಮೂಲಕ ಮಾಡೋಣ.

Rs. 5000 ಕ್ಕಿಂತ ಹೆಚ್ಚು ಸ್ಟೈಪೆಂಡ್ ಪಡೆಯುತ್ತಿರುವ ವಿದ್ಯಾರ್ಥಿಗಳ ಹೆಸರನ್ನು ನನಗೆ ಹುಡುಕಬೇಕಾಗಿದೆ ಎಂದುಕೊಳ್ಳೋಣ.

02:51 CTRL, ALT ಮತ್ತು T ಕೀಗಳನ್ನು ಒತ್ತುವ ಮೂಲಕ ಟರ್ಮಿನಲ್ ಅನ್ನು ತೆರೆಯಿರಿ.
02:57 cd ಕಮಾಂಡ್ ಅನ್ನು ಬಳಸಿ, ನೀವು Code Files ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಹಾಗೂ extract ಮಾಡಿರುವ ಫೋಲ್ಡರ್‌ಗೆ ಹೋಗಿ.
03:04 ಇಲ್ಲಿ ತೋರಿಸಿರುವಂತೆ ಕಮಾಂಡ್ ಅನ್ನು ಟೈಪ್ ಮಾಡಿ.
03:08 ಇಲ್ಲಿ, BEGIN ವಿಭಾಗದಲ್ಲಿ, FS ನ ವ್ಯಾಲ್ಯುಅನ್ನು pipe ಚಿಹ್ನೆ ಎಂದು ಅಸೈನ್ ಮಾಡಿದ್ದೇವೆ.

ಹೀಗೆಯೇ, ನಾವು RS ವೇರಿಯಬಲ್ ಅನ್ನು ಮಾರ್ಪಡಿಸಬಹುದು.

03:19 ಕಮಾಂಡ್ ಅನ್ನು ಎಕ್ಸೀಕ್ಯೂಟ್ ಮಾಡಲು Enter ಅನ್ನು ಒತ್ತಿ.
03:23 ರೂ Rs. 5000 ಕ್ಕಿಂತ ಹೆಚ್ಚು ಸ್ಟೈಪೆಂಡ್ ಅನ್ನು ಪಡೆಯುವ ವಿದ್ಯಾರ್ಥಿಗಳ ಪಟ್ಟಿಯನ್ನು ಔಟ್ಪುಟ್ ತೋರಿಸುತ್ತದೆ.
03:30 ಇಲ್ಲಿ, name ಫೀಲ್ಡ್ ಹಾಗೂ stipend ಫೀಲ್ಡ್ ಗಳನ್ನು ಒಂದು ಖಾಲಿ ಸ್ಪೇಸ್ ನಿಂದ ಬೇರ್ಪಡಿಸಲಾಗಿದೆ.
03:36 ಅಲ್ಲದೆ, ಎಲ್ಲಾ ರೆಕಾರ್ಡ್ ಗಳನ್ನು 'ನ್ಯೂಲೈನ್ ಕ್ಯಾರೆಕ್ಟರ್’ ನಿಂದ ಬೇರ್ಪಡಿಸಲಾಗಿದೆ.
03:42 ಕೋಲನ್, ನಮಗೆ ‘ಔಟ್ಪುಟ್ ಫೀಲ್ಡ್ ಸೆಪರೇಟರ್’ ಎಂದು ಮತ್ತು ‘ಡಬಲ್ ನ್ಯೂಲೈನ್’, ‘ಔಟ್‌ಪುಟ್ ರೆಕಾರ್ಡ್ ಸೆಪರೇಟರ್’ ಎಂದು ಬೇಕಾಗಿದೆ ಎಂದುಕೊಳ್ಳಿ.
03:52 ಇದನ್ನು ಹೇಗೆ ಮಾಡಬಹುದೆಂದು ನೋಡೋಣ.
03:55 'ಟರ್ಮಿನಲ್' ನಲ್ಲಿ ಹಿಂದೆ ಎಕ್ಸೀಕ್ಯೂಟ್ ಮಾಡಿದ ಕಮಾಂಡ್ ಅನ್ನು ಪಡೆಯಲು, 'ಅಪ್-ಆರೋ' ಕೀಯನ್ನು ಒತ್ತಿ.
04:01 ಇಲ್ಲಿ ತೋರಿಸಿದಂತೆ ಕಮಾಂಡ್ ಅನ್ನು ಮಾರ್ಪಡಿಸಿ. ನಂತರ Enter ಅನ್ನು ಒತ್ತಿ.
04:08 ನಮಗೆ ಬೇಕಾದ ಫಾರ್ಮ್ಯಾಟ್ ನಲ್ಲಿ ಔಟ್‌ಪುಟ್ ಸಿಗುತ್ತದೆ.
04:12 ಈಗ, sample.txt ಅನ್ನು ನಮ್ಮ ಹೊಸ ‘ಇನ್ಪುಟ್ ಫೈಲ್’ ಎನ್ನೋಣ.
04:18 ಇಲ್ಲಿ, ನ್ಯೂಲೈನ್, 'ಫೀಲ್ಡ್ ಸೆಪರೇಟರ್' ಆಗಿದ್ದು, ಎರಡು ನ್ಯೂಲೈನ್ ಗಳು 'ರೆಕಾರ್ಡ್ ಸೆಪರೇಟರ್' ಆಗಿದೆ ಎಂದು ಗಮನಿಸಿ.
04:27 ಈ ಫೈಲ್ ನಿಂದ, ನಾವು roll no ಮತ್ತು name ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಹೇಗೆ ಪಡೆಯಬಹುದು (extract)?
04:32 ಹೌದು, ನೀವು ಸರಿಯಾಗಿ ಊಹಿಸಿದ್ದೀರಿ. ನಾವು FS ಮತ್ತು RS ಎರಡೂ ವೇರಿಯಬಲ್ ಗಳನ್ನು ಮಾರ್ಪಡಿಸಬೇಕು.
04:39 ಈ ಟ್ಯುಟೋರಿಯಲ್ ಅನ್ನು ನಿಲ್ಲಿಸಿ ಮತ್ತು ಈ ಅಸೈನ್ಮೆಂಟ್ ಅನ್ನು ಮಾಡಿ.
04:43 ಈಗ ನಾವು ಇತರ 'ಬಿಲ್ಟ್-ಇನ್ ವೇರಿಯೆಬಲ್' ಗಳನ್ನು ನೋಡೋಣ.
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 ಫೀಲ್ಡ್ ಗಳನ್ನು 'ಪೈಪ್' ಚಿಹ್ನೆಯಿಂದ ಬೇರ್ಪಡಿಸಿದ್ದರಿಂದ, BEGIN ವಿಭಾಗದಲ್ಲಿ, FS ವ್ಯಾಲ್ಯೂಅನ್ನು pipe ಚಿಹ್ನೆಗೆ ಸೆಟ್ ಮಾಡಿ.
05:33 ನಂತರ ನಾವು NF not equal to 6 ಎಂದು ಬರೆದಿದ್ದೇವೆ.
05:37 ಪ್ರಸ್ತುತ ಸಾಲಿನಲ್ಲಿರುವ ಫೀಲ್ಡ್ ಗಳ ಸಂಖ್ಯೆ 6 ಕ್ಕೆ ಸಮ ಆಗಿಲ್ಲವೇ ಎಂದು ಇದು ಪರೀಕ್ಷಿಸುತ್ತದೆ.
05:43 ಅದು true ಎಂದಾದರೆ, ಆಗ print ವಿಭಾಗವು ರೆಕಾರ್ಡ್ ನ ಲೈನ್ ನಂಬರ್ NR ಅನ್ನು, $0 ನಿಂದ ಸೂಚಿಸಲಾದ ಪೂರ್ತಿ ಲೈನ್ ನೊಂದಿಗೆ ಪ್ರಿಂಟ್ ಮಾಡುವುದು.

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

05:55 ಔಟ್ಪುಟ್ ನಲ್ಲಿ, ರೆಕಾರ್ಡ್ ಸಂಖ್ಯೆ 16, ಅಪೂರ್ಣ ರೆಕಾರ್ಡ್ ಆಗಿದೆ ಎಂದು ನಾವು ನೋಡಬಹುದು.

ಇದು 6 ರ ಬದಲು 5 ಫೀಲ್ಡ್ ಗಳನ್ನು ಮಾತ್ರ ಹೊಂದಿದೆ.

06:05 ನಾವು ಇನ್ನೊಂದು ಉದಾಹರಣೆಯನ್ನು ನೋಡೋಣ.

ಎಷ್ಟು ಫೀಲ್ಡ್ ಗಳಿದ್ದರೂ ಲೆಕ್ಕಿಸದೇ, ಪ್ರತಿಯೊಬ್ಬ ವಿದ್ಯಾರ್ಥಿಗಾಗಿ ಮೊದಲ ಮತ್ತು ಕೊನೆಯ ಫೀಲ್ಡ್ ಗಳನ್ನು ನಾವು ಹೇಗೆ ಪ್ರಿಂಟ್ ಮಾಡಬಹುದು?

06:16 ಇಲ್ಲಿ, 'ಟರ್ಮಿನಲ್' ನಲ್ಲಿ ತೋರಿಸಿರುವಂತೆ ಕಮಾಂಡ್ ಅನ್ನು ಟೈಪ್ ಮಾಡಿ.
06:21 ಇಲ್ಲಿ ನಾವು, FS ವೇರಿಯಬಲ್ ಅನ್ನು ಸೆಟ್ ಮಾಡುವ ಬದಲಾಗಿ, 'ಹೈಫನ್ ಕ್ಯಾಪಿಟಲ್ ಎಫ್' ಆಯ್ಕೆಯನ್ನು ಬಳಸಿದ್ದೇವೆ.

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

06:30 ಫೈಲ್‌ನಲ್ಲಿಯ ಪ್ರತಿಯೊಂದು ರೆಕಾರ್ಡ್‌ ನ ಮೊದಲ ಮತ್ತು ಕೊನೆಯ ಫೀಲ್ಡ್ ಗಳನ್ನು ಮಾತ್ರ ನಾವು ಪಡೆಯುತ್ತೇವೆ.
06:36 ಈಗ ನಾವು ಬೇರೆ ಏನಾದರೂ ಪ್ರಯತ್ನಿಸೋಣ.
06:39 ವಿದ್ಯಾರ್ಥಿಗಳ ರೆಕಾರ್ಡ್‌ ಗಳನ್ನು demo1.txt ಹಾಗೂ demo2.txt ಎಂಬ ಎರಡು ಫೈಲ್‌ಗಳಲ್ಲಿ ಹಂಚಲಾಗಿದೆ ಎನ್ನೋಣ.
06:48 ಈ ಎರಡೂ ಫೈಲ್‌ಗಳಲ್ಲಿಯ ಮೊದಲ 3 ಸಾಲುಗಳನ್ನು ನಮಗೆ ಪ್ರಿಂಟ್ ಮಾಡಬೇಕಾಗಿದೆ.

ನಾವು ಇದನ್ನು NR (ಎನ್ಆರ್) ವೇರಿಯಬಲ್ ಅನ್ನು ಬಳಸಿ ಮಾಡಬಹುದು.

06:57 ಎರಡೂ ಫೈಲ್‌ಗಳಲ್ಲಿರುವ ವಿಷಯಗಳು ಇಲ್ಲಿವೆ.
07:02 ಪ್ರತಿಯೊಂದು ಫೈಲ್‌ನಲ್ಲಿಯ ಮೊದಲ 3 ಸಾಲುಗಳನ್ನು ತೋರಿಸಲು, ಈ ಕೆಳಗಿನ ಕಮಾಂಡ್ ಅನ್ನು ಟರ್ಮಿನಲ್‌ನಲ್ಲಿ ಟೈಪ್ ಮಾಡಿ.
07:11 Enter ಅನ್ನು ಒತ್ತಿ.
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 Print ವಿಭಾಗದಲ್ಲಿ, NR ಬದಿಯಲ್ಲಿ FNR ಎಂದು ಟೈಪ್ ಮಾಡಿ.

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

08:21 ನೋಡಿ, ಈಗ ನಮಗೆ ಸರಿಯಾದ ಔಟ್‌ಪುಟ್ ಸಿಗುತ್ತದೆ.

FNR (ಎಫ್‌ ಎನ್‌ ಆರ್) ಅನ್ನು ಹೊಸ ಫೈಲ್‌ನೊಂದಿಗೆ ಸೊನ್ನೆಗೆ ಸೆಟ್ ಮಾಡಲಾಗಿದೆ ಆದರೆ NR (ಎನ್ಆರ್) ಹೆಚ್ಚುತ್ತಲೇ ಇರುತ್ತದೆ.

08:31 ಈಗ ನಾವು ಇತರ ಕೆಲವು ‘ಬಿಲ್ಟ್-ಇನ್ ವೇರಿಯೆಬಲ್’ ಗಳನ್ನು ನೋಡೋಣ.

FILENAME ವೇರಿಯೆಬಲ್, ಓದಲಾಗುತ್ತಿರುವ ಫೈಲ್ ನ ಹೆಸರನ್ನು ಕೊಡುತ್ತದೆ.

08:40 ARGC- ಕಮಾಂಡ್-ಲೈನ್ ನಲ್ಲಿ ಒದಗಿಸಲಾದ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳ ಸಂಖ್ಯೆಯನ್ನು ಸೂಚಿಸುತ್ತದೆ.
08:46 ARGV - ಕಮಾಂಡ್-ಲೈನ್ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳನ್ನು ಸ್ಟೋರ್ ಮಾಡುವ 'ಅರೇ' ಯನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ.
08:52 ENVIRON (ಎನ್ವಿರಾನ್)- ‘ಶೆಲ್ ಎನ್ವಿರಾನ್ಮೆಂಟ್ ವೇರಿಯೇಬಲ್‌’ಗಳು ಮತ್ತು ಅವುಗಳ ವ್ಯಾಲ್ಯೂಗಳ 'ಅರೇ' ಯನ್ನು ಸೂಚಿಸುತ್ತದೆ.
09:00 ARGV ಮತ್ತು ENVIRON ಗಳು awk ನಲ್ಲಿ 'ಆರೇ' ಯನ್ನು ಬಳಸುವುದರಿಂದ, ಇವುಗಳನ್ನು ನಂತರದ ಟ್ಯುಟೋರಿಯಲ್‌ಗಳಲ್ಲಿ ನೋಡುತ್ತೇವೆ.
09:09 ಈಗ ನಾವು FILENAME ಎಂಬ ವೇರಿಯೇಬಲ್ ಅನ್ನು ನೋಡೋಣ.

ಈಗ ಪ್ರೊಸೆಸ್ ಆಗುತ್ತಿರುವ ಫೈಲ್‌ನ ಹೆಸರನ್ನು ನಾವು ಹೇಗೆ ಪ್ರಿಂಟ್ ಮಾಡಬಹುದು?

09:18 ಟರ್ಮಿನಲ್‌ ಗೆ ಬದಲಾಯಿಸಿ ಮತ್ತು ಇಲ್ಲಿ ತೋರಿಸಿದಂತೆ ಕಮಾಂಡ್ ಅನ್ನು ಟೈಪ್ ಮಾಡಿ.
09:23 ಇಲ್ಲಿ ನಾವು 'ಸ್ಪೇಸ್' ಅನ್ನು, ‘ಸ್ಟ್ರಿಂಗ್ ಕಾಂಕ್ಯಾಟಿನೇಷನ್ ಆಪರೇಟರ್’ ಆಗಿ ಬಳಸಿದ್ದೇವೆ.

ಕಮಾಂಡ್ ಅನ್ನು ಎಕ್ಸೀಕ್ಯೂಟ್ ಮಾಡಲು, Enter ಅನ್ನು ಒತ್ತಿ.

09:32 ‘ಇನ್ಪುಟ್ ಫೈಲ್’ ನ ಹೆಸರನ್ನು ಔಟ್ಪುಟ್ ಅನೇಕ ಬಾರಿ ತೋರಿಸುತ್ತದೆ.
09:37 ಏಕೆಂದರೆ ಈ ಕಮಾಂಡ್, awkdemo.txt ಫೈಲ್‌ನಲ್ಲಿಯ ಪ್ರತಿಯೊಂದು ಸಾಲಿಗಾಗಿ, ಒಮ್ಮೆ ಫೈಲ್ ನ ಹೆಸರನ್ನು ಪ್ರಿಂಟ್ ಮಾಡುತ್ತದೆ.

ಇದನ್ನು ನಾವು ಹೇಗೆ ಒಮ್ಮೆ ಮಾತ್ರ ಪ್ರಿಂಟ್ ಮಾಡಬಹುದು?

09:48 'ಟರ್ಮಿನಲ್' ಅನ್ನು ತೆರವುಗೊಳಿಸಿ.

ಹಿಂದೆ ಎಕ್ಸೀಕ್ಯೂಟ್ ಮಾಡಿದ ಕಮಾಂಡ್ ಅನ್ನು ಪಡೆಯಲು, 'ಅಪ್-ಆರೋ' ಕೀಯನ್ನು ಒತ್ತಿ.

09:55 ಇಲ್ಲಿ ತೋರಿಸಿರುವಂತೆ ಹಿಂದಿನ ಕಮಾಂಡ್ ಅನ್ನು ಮಾರ್ಪಡಿಸಿ.

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

10:02 ಈಗ, ನಾವು ಫೈಲ್-ನೇಮ್ ಅನ್ನು ಒಮ್ಮೆ ಮಾತ್ರ ಪಡೆಯುತ್ತೇವೆ.
10:06 awk ನಲ್ಲಿ ಇನ್ನೂ ಕೆಲವು ‘ಬಿಲ್ಟ್-ಇನ್ ವೇರಿಯೆಬಲ್’ ಗಳಿವೆ.

ಅವುಗಳ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಲು, ದಯವಿಟ್ಟು ಇಂಟರ್ನೆಟ್ ನಲ್ಲಿ ಬ್ರೌಸ್ ಮಾಡಿ.

10:14 ಉತ್ತೀರ್ಣರಾದ ಮತ್ತು Rs.8000 ಗಿಂತ ಹೆಚ್ಚು ಸ್ಟೈಪೆಂಡ್ ಪಡೆದ ವಿದ್ಯಾರ್ಥಿಗಳನ್ನು ನಮಗೆ ಹುಡುಕಬೇಕಾಗಿದೆ ಎಂದುಕೊಳ್ಳೋಣ.
10:22 ಕಾಮಾ ಅನ್ನು (ಅಲ್ಪವಿರಾಮ ಚಿಹ್ನೆ) 'ಔಟ್ಪುಟ್ ಫೀಲ್ಡ್ ಸೆಪರೇಟರ್' ಎಂದು ಬಳಸಿ. footer ವಿಭಾಗದಲ್ಲಿ, “The data is shown for file” ಮತ್ತು ಫೈಲ್ ನ ಹೆಸರನ್ನು ಪ್ರಿಂಟ್ ಮಾಡಿ.

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

10:36 'ಟರ್ಮಿನಲ್' ನಲ್ಲಿ, ಈ ಕೆಳಗಿನ ಕಮಾಂಡ್ ಅನ್ನು ಟೈಪ್ ಮಾಡಿ, Enter ಅನ್ನು ಒತ್ತಿ.
10:43 ಒಬ್ಬ ವಿದ್ಯಾರ್ಥಿ ಮಾತ್ರ ಉತ್ತೀರ್ಣನಾಗಿದ್ದು, Rs. 8000 ಕ್ಕಿಂತ ಹೆಚ್ಚು ಸ್ಟೈಪೆಂಡ್ ಅನ್ನು ಪಡೆಯುವುದನ್ನು ನಾವು ನೋಡಬಹುದು.

ಮತ್ತು ರೆಕಾರ್ಡ್ ನ ಸಂಖ್ಯೆ 2 ಆಗಿದೆ.

10:53 ನಾವು ಬಯಸಿದಂತೆ, ಫೈಲ್‌ನ ಹೆಸರನ್ನು footer ನಲ್ಲಿ ಸಹ ನೋಡಬಹುದು.
10:58 ನಾವು awk ಅನ್ನು ಹೆಚ್ಚು ಜಟಿಲವಾದ ಕಾರ್ಯಗಳಿಗಾಗಿ ಬಳಸಬಹುದು.
11:03 ಅಂತಹ ಸಂದರ್ಭದಲ್ಲಿ, ಪ್ರತಿ ಬಾರಿ ಟರ್ಮಿನಲ್ ನಲ್ಲಿ ಕಮಾಂಡ್ ಗಳನ್ನು ಬರೆಯುವುದು ಹೆಚ್ಚು ಕಠಿಣವಾಗುತ್ತದೆ.
11:09 ಬದಲಾಗಿ, awk ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ನಾವು ಪ್ರತ್ಯೇಕ ಫೈಲ್‌ನಲ್ಲಿ ಬರೆಯಬಹುದು.
11:14 ಎಕ್ಸೀಕ್ಯೂಟ್ ಆಗಲು, ಆ ಫೈಲ್ dot awk ಎಕ್ಸ್ಟೆನ್ಶನ್ ಅನ್ನು (extension) ಹೊಂದಿರಬೇಕು.
11:19 ಎಕ್ಸೀಕ್ಯೂಟ್ ಮಾಡುವಾಗ, ನಾವು awk ಕಮಾಂಡ್ ನೊಂದಿಗೆ, ಈ awk ಪ್ರೋಗ್ರಾಂ ಫೈಲ್ ನ ಹೆಸರನ್ನು ಸೂಚಿಸಬಹುದು.
11:26 ಹಾಗೆ ಮಾಡಲು, ನಾವು hyphen small f ಆಯ್ಕೆಯನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ.

ನಾವು ಒಂದು ಉದಾಹರಣೆಯನ್ನು ನೋಡೋಣ.

11:35 ನಾನು ಈಗಾಗಲೇ ಒಂದು awk ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಬರೆದಿದ್ದೇನೆ ಮತ್ತು ಅದನ್ನು prog1 dot awk ಎಂದು ಸೇವ್ ಮಾಡಿದ್ದೇನೆ.
11:42 ಈ ಕೋಡ್, Code Files ಲಿಂಕ್‌ನಲ್ಲಿಯೂ ಲಭ್ಯವಿದೆ.
11:46 ಟರ್ಮಿನಲ್‌ ಗೆ ಬದಲಾಯಿಸಿ.

ಕೊನೆಯದಾಗಿ ಎಕ್ಸೀಕ್ಯೂಟ್ ಮಾಡಿದ ಕಮಾಂಡ್ ನ ‘ಸಿಂಗಲ್ ಕೋಟ್ಸ್’ ಒಳಗೆ ನಾವು ಏನು ಬರೆದಿದ್ದೇವೆಂದು ನೋಡಿ.

11:55 Prog1.awk ಫೈಲ್‌ ನಲ್ಲಿರುವುದೂ ಸಹ ಅದೇ ಆಗಿದೆ.
12:00 ಒಂದೇ ವ್ಯತ್ಯಾಸವೆಂದರೆ, awk ಫೈಲ್‌ನಲ್ಲಿ, ನಾವು ‘ಸಿಂಗಲ್ ಕೋಟ್ಸ್’ ಒಳಗೆ ಬರೆದಿಲ್ಲ.
12:07 ಫೈಲ್ ಅನ್ನು ಎಕ್ಸಿಕ್ಯೂಟ್ ಮಾಡಲು, ಟರ್ಮಿನಲ್ ನಲ್ಲಿ ಹೀಗೆ ಟೈಪ್ ಮಾಡಿ -

awk space hyphen small f space prog1.awk space awkdemo.txt ಮತ್ತು Enter ಅನ್ನು ಒತ್ತಿ.

12:24 ನಾವು ಈಮೊದಲು ನೋಡಿದಂತೆ, ಅದೇ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಪಡೆಯುತ್ತೇವೆ.
12:29 ಹೀಗೆ, ನೀವು awk ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಬರೆಯಬಹುದು ಮತ್ತು ಅದನ್ನು ಅನೇಕ ಬಾರಿ ಬಳಸಬಹುದು.
12:35 ಇಲ್ಲಿಗೆ ನಾವು ಈ ಟ್ಯುಟೋರಿಯಲ್ ನ ಕೊನೆಗೆ ಬಂದಿದ್ದೇವೆ.

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

12:40 ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ನಾವು ವಿವಿಧ ಉದಾಹರಣೆಗಳನ್ನು ಬಳಸಿ, ‘ಬಿಲ್ಟ್-ಇನ್ ವೇರಿಯೆಬಲ್’ ಗಳು ಮತ್ತು awk ಸ್ಕ್ರಿಪ್ಟ್ ಬಗ್ಗೆ ಕಲಿತಿದ್ದೇವೆ.
12:48 ಒಂದು ಅಸೈನ್ಮೆಂಟ್-

awkdemo.txt ಫೈಲ್‌ನಲ್ಲಿ, 5 ನೇ ಸಾಲಿನ ಕೊನೆಯ ಫೀಲ್ಡ್ ಅನ್ನು ಪ್ರಿಂಟ್ ಮಾಡಲು ಒಂದು awk ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಬರೆಯಿರಿ.

12:58 ಟರ್ಮಿನಲ್ ನ ಮೇಲೆ, /etc/passwd ಈ ಸಿಸ್ಟಂ ಫೈಲ್ ಅನ್ನು ತೆರೆಯಿರಿ.
13:05 ಅದರಲ್ಲಿರುವ ಎಲ್ಲಾ ‘ಸೆಪರೇಟರ್’ ಗಳನ್ನು ಗುರುತಿಸಿ.
13:09 ಈಗ, 20 ನೇ ಸಾಲಿನಿಂದ ಫೈಲ್ ಅನ್ನು ಪ್ರೊಸೆಸ್ ಮಾಡಲು, 'ಸ್ಕ್ರಿಪ್ಟ್' ಅನ್ನು ಬರೆಯಿರಿ.
13:15 ಅದೂ, 6 ಕ್ಕಿಂತ ಹೆಚ್ಚು ಫೀಲ್ಡ್ ಗಳನ್ನು ಹೊಂದಿರುವ ಸಾಲುಗಳನ್ನು ಮಾತ್ರ.
13:20 ಲೈನ್ ನಂಬರ್, ಸಂಪೂರ್ಣ ಸಾಲು ಮತ್ತು ಆ ನಿರ್ದಿಷ್ಟ ಸಾಲಿನಲ್ಲಿಯ ಫೀಲ್ಡ್ ಗಳ ಸಂಖ್ಯೆ ಯನ್ನು ನೀವು ಪ್ರಿಂಟ್ ಮಾಡಬೇಕು.
13:28 ಈ ಕೆಳಗಿನ ಲಿಂಕ್ ನಲ್ಲಿ ಲಭ್ಯವಿರುವ ವೀಡಿಯೋ, “ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್” ಪ್ರಕಲ್ಪದ ಸಾರಾಂಶವಾಗಿದೆ. ಇದನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿ ವೀಕ್ಷಿಸಿ.
13:36 “ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್” ಪ್ರಕಲ್ಪದ ತಂಡವು, “ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್” ಗಳನ್ನು ಬಳಸಿ ಕಾರ್ಯಶಾಲೆಗಳನ್ನು ನಡೆಸುತ್ತದೆ ಮತ್ತು ಪ್ರಮಾಣ ಪತ್ರವನ್ನು ಕೊಡುತ್ತದೆ.

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

13:47 ನಿಮ್ಮ ಪ್ರಶ್ನೆಗಳನ್ನು ನಿಮಿಷ ಮತ್ತು ಸೆಕೆಂಡ್ ಗಳೊಂದಿಗೆ ಈ ಫೋರಂಗೆ ಬರೆಯಿರಿ.
13:51 "ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್” ಪ್ರಕಲ್ಪವು NMEICT, MHRD ಮೂಲಕ ಭಾರತ ಸರ್ಕಾರದ ಅನುದಾನವನ್ನು ಪಡೆದಿದೆ.

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

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

ಧನ್ಯವಾದಗಳು.

Contributors and Content Editors

Sandhya.np14