Linux-AWK/C2/Built-in-Functions-in-awk/Gujarati

From Script | Spoken-Tutorial
Revision as of 08:52, 12 July 2019 by Bharat636 (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Time
Narration
00:01 નમસ્તે, awk માં built-in functions પરના આ સ્પોકન ટ્યુટોરીઅલમાં સ્વાગત છે.
00:07 આ ટ્યુટોરીઅલમાં આપણે built-in functions ના વિભિન્ન પ્રકાર વિશે શીખીશું જેમ કે-

Arithmetic functions

00:15 String functions
00:17 Input/Output functions અને Time-stamp functions
00:23 આપણે આ અમુક ઉદાહરણો મારફતે કરીશું.
00:26 આ ટ્યુટોરીયલને રેકોર્ડ કરવા માટે, હું વાપરી રહ્યો છું Ubuntu Linux 16.04 Operating System અને
gedit text editor 3.20.1
00:38 તમે તમારા પસંદનું કોઈપણ ટેક્સ્ટ એડિટર વાપરી શકો છો.
00:42 આ ટ્યુટોરીયલના અભ્યાસ માટે, તમને આ વેબસાઈટ પર આવેલ પાછલા awk ટ્યુટોરીયલો મારફતે જવું જોઈએ.
00:49 તમને કોઈપણ પ્રોગ્રામિંગ ભાષાનું સામાન્ય જ્ઞાન હોવું જોઈએ જેમ કે C અથવા C++.
00:56 જો નથી, તો અમારી વેબસાઈટ પરના સબંધિત ટ્યુટોરીયલો મારફતે જાવ.
01:02 આ ટ્યુટોરીયલમાં વાપરવામાં આવેલ ફાઈલ આ ટ્યુટોરીયલ પુષ્ઠ પરના Code Files લિંકમાં ઉપલબ્ધ છે.

કૃપા કરી તેને ડાઉનલોડ કરીને એક્સટ્રેક્ટ કરો.

01:12 Built-in functions એ કોલ હેતુ awk માટે હંમેશા ઉપલબ્ધ હોય છે.
01:17 પહેલા આપણે arithmetic functions વિશે શીખીશું.

square root function (sqrt (x)) એ સંખ્યા x નું ધનાત્મક વર્ગમૂળ રિટર્ન કરે છે.

01:27 int ફંક્શન x ને ઇન્ટીજર વેલ્યુથી ટ્રન્કેટ્સ કરે છે
01:32 exponential functionx નો એક્સ્પોનેન્શીયલ આપે છે
01:37 log functionx ની પ્રાકૃતિક logarithm વેલ્યુ રિટર્ન કરે છે
01:43 sin અને cos અનુક્રમે sine(x) અને cosine(x) આપે છે
01:49 કૃપા કરી નોંધ લો argument x radians માં ઉલ્લેખિત હોવી જોઈએ.
01:55 ચાલો આ functions ને સમજવા ઉદાહરણ તરફે જોઈએ.
02:00 મેં પહેલાથી જ arithmetic underscore function dot awk ફાઈલમાં કોડ લખ્યો છે.

તે જ Code Files લિંકમાં ઉપલબ્ધ છે.

02:10 અહીં, આપણે અનુક્રમે ઘનાત્મક અને ઋણાત્મક સંખ્યાના વર્ગમૂળ પ્રિન્ટ કરી રહ્યા છીએ.
02:17 આગળ આપણે અનુક્રમે ઘનાત્મક અને ઋણાત્મક સંખ્યા માટે ઇન્ટીજર વેલ્યુ પ્રિન્ટ કરી રહ્યા છીએ.
02:24 ત્યારબાદ આપણે નાની સંખ્યા અને ખુબ મોટી સંખ્યાના એક્સ્પોનેન્શીયલ પ્રિન્ટ કરી રહ્યા છીએ.
02:31 ત્યાર પછી, ઘનાત્મક અને ઋણાત્મક સંખ્યાના પ્રાકૃતિક logarithm ને પ્રિન્ટ કરવામાં આવે છે.
02:38 સાથે જ આપણે 0.52 radian ની sine અને cosine વેલ્યુઓ પણ પ્રિન્ટ કરી રહ્યા છીએ, જે વાસ્તવમાં 30 degree છે.

ચાલો ફાઈલને terminal માં એક્ઝિક્યુટ કરીએ.

02:50 Ctrl, Alt અને T કી દાબીને terminal ખોલો.
02:55 આગળ cd command નો ઉપયોગ કરીને એ ફોલ્ડરમાં જાવ જ્યાં તમે Code Files ડાઉનલોડ કરી છે અને એક્સટ્રેકટ કરી છે.
03:03 હવે ટાઈપ કરો awk space -f space arithmetic_function.awk

અને આઉટપુટ જોવા માટે Enter દબાવો.

03:14 આ આઉટપુટથી કેટલીક બાબતો સાફ થાય છે.
03:18 sqrt() function એ ધનાત્મક સંખ્યાનું વર્ગમૂળ આપે છે.
03:23 સંખ્યા જો ઋણાત્મક હોય તો તે nan અથવા not a number રિટર્ન આપે છે.
03:29 int() એ કોઈપણ ધનાત્મક અથવા ઋણાત્મક સંખ્યાનું ટ્રન્કેટેડ ઇન્ટીજર આપે છે.
03:36 exp() એ સંખ્યાની એક્સ્પોનેન્શીયલ આપે છે.

સંખ્યા જો ખુબ મોટી હોય તો, functioninf રિટર્ન કરશે.

03:47 ધનાત્મક સંખ્યાના પ્રાકૃતિક logarithm ને log() function દ્વારા આપવામાં આવે છે.
03:53 સંખ્યા જો ઋણાત્મક હોય તો, function nan રિટર્ન કરે છે.
03:58 Sine અને cosine functions સંદર્ભિત વેલ્યુઓ રિટર્ન કરે છે.

તમે તમારા કેલ્ક્યુલેટરનો ઉપયોગ કરીને વેલ્યુ ચકાસી શકો છો.

04:07 હવે, ચાલો random functions તરફે જોઈએ.
04:11 rand() એ 0 અને 1 વચ્ચેથી કોઈપણ રેન્ડમ સંખ્યા રિટર્ન કરે છે. પરંતુ ક્યારે પણ 0 અથવા 1 રિટર્ન કરતુ નથી.
04:21 ઉત્પન્ન થયેલ સંખ્યાઓ એક awk એક્ઝિક્યુશન અંતર્ગત રેન્ડમ રહેશે.
04:27 પરંતુ awk પ્રોગ્રામના વિભિન્ન એક્ઝિક્યુશન સામે અનુમાનનીય હોય છે.
04:33 srand(x) નો ઉપયોગ random function માટે seed value x આપવા માટે થાય છે.
04:39 x ની ગેરહાજરીમાં, દિવસની તારીખ અને સમયને seed value તરીકે વાપરવામાં આવે છે.

ચાલો આ ઉદાહરણ વડે સમજીએ.

04:49 મેં random function માટે કોડ લખ્યો છે અને તેને random.awk તરીકે સેવ કર્યો છે.
04:56 અહીં, for loop, rand() function અંદર 0 અને 1 વચ્ચેની એક રેન્ડમ સંખ્યા ઉત્પન્ન થશે.
05:04 ત્યારબાદ ઉત્પન્ન થયેલ સંખ્યા 50 થી ગુણાકાર થશે અને પ્રિન્ટ થશે.
05:10 તો, આ કોડ 50 અંતર્ગત 5 રેન્ડમ સંખ્યાઓ ઉત્પન્ન કરશે.
05:16 terminal પર જાવ અને ફાઈલને એક્ઝિક્યુટ કરો.

ચાલો હું terminal સાફ કરું.

05:23 ટાઈપ કરો: awk space hyphen f space random dot awk અને Enter દબાવો.
05:31 જુઓ, તે 5 રેન્ડમ સંખ્યાઓ આપે છે.
05:35 જો હું કોડ ફરીથી એક્ઝિક્યુટ કરું તો શું થશે?
05:39 પાછલા એક્ઝિક્યુટેડ કમાન્ડને મેળવવા હેતુ અપ એરો કી દબાવો અને Enter દબાવો.
05:47 આપણને સમાન આઉટપુટ મળે છે. જેનો અર્થ એ થાય છે કે, awk સ્ક્રીપ્ટના દરેક એક્ઝિક્યુશન માટે રેન્ડમ સંખ્યાનો સમાન ગણ ઉત્પન્ન કરે છે.
05:57 તો પછી દરેક એક્ઝિક્યુશનમાં નવી રેન્ડમ સંખ્યાનો ગણ આપણે કેવી રીતે મેળવી શકીએ છીએ?

ફરીથી કોડ પર જાવ.

06:06 for loop પહેલા, ટાઈપ કરો srand() function
06:11 ફાઈલને સેવ કરવા માટે Crtl અને S કી દબાવો.
06:16 હવે terminal પર જાવ.
06:19 પાછલા એક્ઝિક્યુટેડ કમાન્ડને મેળવવા હેતુ અપ એરો કી દબાવો અને Enter દબાવો.
06:27 તે જુદી રેન્ડમ સંખ્યા ગણ આપે છે.
06:31 તો, આપણે srand function વાપરીને નવી રેન્ડમ સંખ્યા ગણ ઉત્પન્ન કરી શકીએ છીએ, જ્યારે તેને argument વિના વાપરવામાં આવે છે.
06:40 આગળ આપણે અમુક string functions જોશું.

length function એક ચોક્કસ સ્ટ્રીંગ s ની લંબાઈ આપે છે.

06:49 index function એ મોટી string s1 અંતર્ગત string s2 ની સ્થિતિ નક્કી કરે છે.
06:57 ઉદાહરણ તરીકે, index within parentheses within double quotes linux comma within double quotes n, એ 3 રિટર્ન કરે છે.

ચાલો ઉદાહરણ જોઈએ.

07:10 awkdemo.txt ફાઈલ ખોલો.
07:14 આપણે જાણીએ છીએ કે awkdemo.txt ફાઈલમાં દરેક વિદ્યાર્થી 4 અંકી રોલ ક્રમાંક ધરાવે છે.
07:21 ટાઈપિંગ એરર (ત્રુટિ) લીધે, રોલ ક્રમાંક ખોટી અંક સંખ્યા ધરાવી શકે છે.

awk commands વાપરીને આપણે આ સરળતાથી શોધી શકીએ છીએ.

07:30 terminal પર જાવ.

ચાલો હું terminal સાફ કરું.

07:36 હવે અહીં દર્શાવ્યા પ્રમાણે command ટાઈપ કરો.

અહીં આપણે તપાસ કરીએ છીએ કે 1લા ફિલ્ડની લંબાઈ એ 4 ના બરાબર છે કે નહિ.

07:46 જો નથી, તો તે વ્યક્તિગત રેકોર્ડ પ્રિન્ટ થશે.

Enter દબાવો.

07:53 જુઓ, અહીં એક રોલ-ક્રમાંક S02 છે જે અયોગ્ય રીતે ટાઈપ થયેલો છે.
08:00 તે ત્રણ અંકો ધરાવે છે, જ્યારે કે બીજા તમામ ચાર અંકો ધરાવે છે.
08:07 substr(s,a,b) function એ મોટી string s માંથી એક substring એક્સટ્રેક્ટ કરે છે.
08:14 ચાલો હું પેરામીટર સમજાઉં.
08:17 અહીં sstring છે.
08:20 a, s માં સ્થિતિ સૂચવે છે જેમાંથી એક્સટ્રેક્શન શરુ થવું જોઈએ
08:26 b કેરેક્ટરોની સંખ્યા સૂચવે છે જે એક્સટ્રેક્ટ થશે.

ચાલો ઉદાહરણ જોઈએ.

08:33 awkdemo.txt ફાઈલ પર જાવ.
08:37 રોલ ક્રમાંકનો પ્રથમ અક્ષર Hostel code રજુ કરે છે જ્યાં ચોક્કસ વિદ્યાર્થી રહે છે.
08:46 માનો કે આપણે એવા વિદ્યાર્થીઓની સૂચિ શોધવા ઇચ્છીએ છીએ, જેઓ હોસ્ટેલ A માં રહે છે.
08:52 તે મેળવવા માટે, ચાલો terminal પર જઈએ.
08:56 અહીં દર્શાવ્યા પ્રમાણે કમાન્ડ ટાઈપ કરો.
09:00 અહીં આપણે $1 દ્વારા સૂચિત string લઈએ છીએ.
09:05 જેવું કે આપણે જાણીએ છીએ $1 એ પ્રથમ field રજુ કરે છે, જે આપણા કિસ્સામાં રોલ ક્રમાંક છે.
09:12 આગળ, આપણે એક substring એક્સટ્રેક્ટ કરીએ છીએ જે કેરેક્ટર લંબાઈ one સાથે પોઝિશન one પર શરુ થાય છે.
09:19 ત્યારબાદ, જો તે કેપિટલ A ના બરાબર હોય, તો ફાઈલથી તે લાઈન પ્રિન્ટ થશે.

આઉટપુટ જોવા માટે Enter દબાવો.

09:29 આપણને વિદ્યાર્થીઓની સૂચિ મળે છે જેઓ હોસ્ટેલ A માં છે.
09:34 આપણે function split ને પહેલા જોયું છે.

તો, હું અહીં વિગતો નહિ સમજાવું.

09:40 તમને કોઈપણ શંકા હોય તો કૃપા કરી પહેલાના awk ટ્યુટોરીયલોનો સંદર્ભ લો.
09:45 અહીં અમુક અન્ય functions છે જે Input/Output થી સંબંધિત છે.

system() function - આપણને awk અંતર્ગત કોઈપણ unix command રન કરવામાં મદદ કરે છે.

09:56 હવે, આપણે awk command મારફતે unix command date રન કરીશું.
10:01 terminal માં અહીં દર્શાવ્યા પ્રમાણે કમાન્ડ ટાઈપ કરો.

અને Enter દબાવો.

10:09 terminal પર આઉટપુટ તરીકે આજની તારીખ અને સમય દૃશ્યમાન થાય છે.
10:15 હવે, આપણને આની શા માટે જરૂર છે? આપણે awk command નો ફક્ત BEGIN સેક્શન રાખ્યો છે.
10:21 વાસ્તવિક દુનિયાના દૃશ્યે, આપણે જોઈતા આઉટપુટને દર્શાવતા પહેલા, system date ને પ્રિન્ટ કરવાનું ઈચ્છી શકીએ છીએ.
10:28 આ કિસ્સામાં, આપણને awk command માંથી system commands એક્ઝિક્યુટ કરવાની જરૂર પડશે.
10:34 અહીં અમુક functions છે જે time stamps સાથે વહેવાર કરે છે જેમ કે

systime(), strftime() , વગેરે.

10:43 functions વિશે જાણવા હેતુ ઇન્ટરનેટને બ્રાઉઝ કરો.
10:48 અહીં આ ટ્યુટોરીઅલનો અંત થાય છે.

ચાલો સારાંશ લઈએ.

10:53 આ ટ્યુટોરીઅલમાં આપણે built-in functions ના વિભિન્ન પ્રકાર વિશે શીખ્યા જેમ કે

Arithmetic functions, String functions, Input/Output functions અને Time stamps functions

11:06 એસાઇનમેન્ટ તરીકે- દરેક રેકોર્ડનું છેલ્લું field પ્રિન્ટ કરવા માટે એક awk પ્રોગ્રામ લખો.
11:13 જ્યાં વિદ્યાર્થીનું નામ ત્રીજા અક્ષર તરીકે નાનો u ધરાવે, awkdemo.txt ફાઈલ વાપરીને.
11:22 આપેલ લિંક પર ઉપલબ્ધ વિડિઓ સ્પોકન ટ્યુટોરીયલ પ્રોજેક્ટનો સારાંશ આપે છે.

કૃપા કરી તેને ડાઉનલોડ કરીને નિહાળો.

11:30 Spoken Tutorial Project ટીમ સ્પોકન ટ્યુટોરીયલોનો ઉપયોગ કરીને વર્કશોપો આયોજે છે.

અને ઓનલાઇન પરીક્ષા પાસ થવા પર પ્રમાણપત્રો આપે છે.

વધુ વિગત માટે, કૃપા કરી અમને લખો.

11:43 તમારા પ્રશ્નોને આ ફોરમ પર પોસ્ટ કરો.
11:47 સ્પોકન ટ્યુટોરીયલ પ્રોજેક્ટને NMEICT, MHRD, ભારત સરકાર દ્વારા ફાળો અપાયો છે.

આ મિશન પર વધુ માહિતી આ લિંક પર ઉપલબ્ધ છે.

11:59 ભાષાંતર કરનાર, હું ભરત સોલંકી હવે આપથી વિદાય લઉં છું.

જોડાવા બદ્દલ આભાર.

Contributors and Content Editors

Bharat636