Linux-AWK/C2/Loops-in-awk/Gujarati
|
|
00:01 | નમસ્તે, awk માં Loops પરના આ સ્પોકન ટ્યુટોરીયલમાં સ્વાગત છે. |
00:06 | આ ટ્યુટોરીયલમાં આપણે આપેલ વિશે શીખીશું- awk માં while
do-while, for અને વધુ looping constructs |
00:16 | આપણે આ અમુક ઉદાહરણ મારફતે કરીશું. |
00:20 | આ ટ્યુટોરીયલને રેકોર્ડ કરવા માટે, હું વાપરી રહ્યો છું
Ubuntu Linux 16.04 Operating System અને gedit text editor 3.20.1 |
00:32 | તમે તમારા પસંદનું કોઈપણ ટેક્સ્ટ એડિટર વાપરી શકો છો. |
00:36 | આ ટ્યુટોરીયલનો અભ્યાસ કરવા માટે, તમે અમારી વેબસાઈટ પરના પાછલા awk ટ્યુટોરીયલો મારફતે જવું જોઈએ. |
00:43 | તમે કોઈપણ programming language સાથે પરિચિત હોવા જોઈએ જેમ કે C અથવા C++ |
00:50 | જો નથી, તો અમારી વેબસાઈટ પરના સબંધિત ટ્યુટોરીયલો મારફતે જાવ. |
00:56 | આ ટ્યુટોરીયલમાં વાપરવામાં આવેલ ફાઈલ આ ટ્યુટોરીયલ પુષ્ઠ પરના Code Files લિંકમાં ઉપલબ્ધ છે.
કૃપા કરી તેને ડાઉનલોડ કરીને એક્સટ્રેક્ટ કરો. |
01:06 | એક loop આપણને એક અથવા વધુ ક્રિયાઓ વારંવાર કરવાની પરવાનગી આપે છે. |
01:12 | while, do-while અને for એ awk માં ઉપલબ્ધ loops છે. |
01:18 | while loop નું સિન્ટેક્સ અહીં જોઈ શકાય છે. |
01:22 | While loop પહેલા તપાસે છે કે નિર્દિષ્ટ condition સાચી છે કે નહિ. |
01:27 | જો હા, તો તે body અંતર્ગત કોડ એક્ઝિક્યુટ કરે છે.
આ loop પુનરાવર્તિત થતું રહેશે જ્યાં સુધી નિર્દિષ્ટ while condition એ true હોય. |
01:37 | આપણે સમાન awkdemo.txt ફાઈલ વાપરીશું, જે આપણે પહેલા વાપરી છે. |
01:43 | મેં પહેલાથી જ while_loop.awk નામની એક સ્ક્રિપ્ટ લખી છે. |
01:48 | સમાન ફાઈલ આ ટ્યુટોરીયલના Code Files લિંકમાં ઉપલબ્ધ છે. |
01:53 | અહીં આપણે field separator ને Pipe symbol તરીકે સુયોજિત કર્યું છે. |
01:58 | પ્રારંભમાં, આપણને loop variable i ની વેલ્યુ 1 તરીકે સુયોજવી પડતી હતી. |
02:04 | અહીં, આપણે વધુ એક વેરિએબલ f લીધું છે અને તેને 1 ઈનિશલાઇઝ કર્યું છે. |
02:10 | Variable f એ field counter રજુ કરે છે અથવા દરેક record માટે fields ની પોઝિશન. |
02:17 | હવે, while condition માં, આપણે તપાસ કરીએ છીએ કે i એ 3 કરતા નાનો અથવા તેની બરાબર છે કે નહિ. |
02:23 | જો હા, તો તે awkdemo.txt ફાઈલમાં તે રેકોર્ડ માટે, fth ફિલ્ડમાં વેલ્યુ પ્રિન્ટ કરશે. |
02:31 | ત્યારબાદ આપણે field counter f ને 1 દ્વારા વધારીશું. |
02:36 | તેના પછી, આપણે loop variable i ની વેલ્યુને પણ 1 દ્વારા વધારીશું. |
02:43 | આ printf એ દરેક પંક્તિની અંતમાં newline character પ્રિન્ટ કરવા માટે છે. |
02:49 | આ loop એ awkdemo.txt ફાઈલમાં તમામ રેકોર્ડો માટે એક્ઝિક્યુટ થશે. |
02:55 | જેનો અર્થ એ છે કે પહેલા 3 ફીલ્ડો દરેક રેકોર્ડ માટે પ્રિન્ટ થશે. |
03:00 | ચાલો હવે આ કોડને એક્ઝિક્યુટ કરીએ. |
03:03 | Ctrl, Alt અને T કી દાબીને terminal ખોલો. |
03:09 | cd command નો ઉપયોગ કરીને એ ફોલ્ડરમાં જાવ જ્યાં તમે Code Files ડાઉનલોડ કરી છે અને એક્સટ્રેકટ કરી છે. |
03:16 | હવે ટાઈપ કરો: awk space hyphen small f space while_loop.awk space awkdemo.txt
Enter દબાવો. |
03:29 | અવલોકન કરો, આપણને આઉટપુટમાં તમામ પંક્તિઓની પહેલી ત્રણ fields મળે છે. |
03:35 | ચાલો સમાન ક્રિયા do-while loop સાથે કરીએ. |
03:38 | do-while loop નું સિન્ટેક્સ અહીં જોઈ શકાય છે. |
03:42 | do-while loop હંમેશા body અંતર્ગત એકવાર કોડ એક્ઝિક્યુટ કરે છે. |
03:47 | ત્યારબાદ તે નિર્દિષ્ટ condition તપાસ કરે છે. અને ત્યારસુધી body અંતર્ગત કોડ પુનરાવર્તિત કરે છે, જ્યાં સુધી નિર્દિષ્ટ condition એ true હોય છે. |
03:56 | મેં પહેલાથી જ સ્ક્રિપ્ટ લખીને તેને do_loop.awk નામ આપ્યું છે
સમાન ફાઈલ Code Files લિંકમાં ઉપલબ્ધ છે. |
04:06 | આ કોડમાં, do loop અંતર્ગત આ statements છે, જે પહેલા એક્ઝિક્યુટ થશે.
આ condition છે જેને તપાસ કરવામાં આવશે. |
04:15 | તેના પછી, loop અંતર્ગત આવેલ statements ત્યાં સુધી પુનરાવર્તિત થઈને એક્ઝિક્યુટ થતું રહેશે જ્યાં સુધી condition એ true હોય છે. |
04:23 | આ loop એ awkdemo.txt ફાઈલમાં તમામ રેકોર્ડો માટે પુનરાવર્તિત થશે
જેનો અર્થ એ થાય છે કે પહેલા 3 ફીલ્ડો તમામ રેકોર્ડો માટે પ્રિન્ટ થશે. |
04:33 | ચાલો terminal પર જઈએ. ચાલો હું terminal સાફ કરું. |
04:38 | હવે ટાઈપ કરો: awk space hyphen small f space do underscore loop dot awk space awkdemo dot txt
Enter દબાવો. |
04:52 | આપણને સમાન આઉટપુટ મળે છે. તો શા માટે આપણી પાસે while અને do-while loops બંને છે? |
04:58 | ચાલો તફાવત સમજીએ. |
05:00 | while underscore loop dot awk ફાઈલ પર જાવ |
05:05 | હવે, loop counter i ની વેલ્યુ 1 થી બદલીને 4 કરો. |
05:11 | આ શરૂઆતથી નિર્દિષ્ટ condition false બનાવશે.
તો આનો અર્થ એ થાય છે કે, આપણને કોઈપણ આઉટપુટ મળવું ન જોઈએ. |
05:19 | ફાઈલને સેવ કરો અને terminal પર જાવ. |
05:22 | terminal ને સાફ કરો.
હવે અપ એરો કીને ત્યાં સુધી દબાવો જ્યાં સુધી તમને while loop ને એક્ઝિક્યુટ કરવાનો કમાન્ડ ન મળે. |
05:30 | હવે Enter દબાવો. |
05:32 | જુઓ, આપણને ખાલી લાઈનો સિવાય કોઈ આઉટપુટ મળતું નથી. |
05:37 | awkdemo.txt ફાઈલમાં દરેક રેકોર્ડ માટે, આઉટપુટમાં ખાલી લાઈનો પ્રિન્ટ થાય છે. |
05:44 | હવે, ચાલો do loop ફાઈલમાં અમુક ફેરફાર કરીએ. |
05:48 | do underscore loop dot awk ફાઈલ પર જાવ |
05:53 | i ની વેલ્યુ 1 થી બદલીને 4 કરો. |
05:57 | ફાઈલને સેવ કરો અને terminal પર જાવ. |
06:01 | terminal ને સાફ કરો.
હવે અપ એરો કીને ત્યાં સુધી દબાવો જ્યાં સુધી તમને do loop ને એક્ઝિક્યુટ કરવાનો કમાન્ડ ન મળે. Enter દબાવો. |
06:10 | આઉટપુટમાં, દરેક પંક્તિ માટે ફક્ત પહેલી ફિલ્ડ પ્રિન્ટ થાય છે.
કારણ શું છે? |
06:16 | દરેક પંક્તિ માટે, awk પહેલા પ્રથમ field ખાતે આવેલ વેલ્યુ પ્રિન્ટ કરે છે, કારણ કે variable f ની વેલ્યુ 1 પર ઈનિશલાઈઝ થઇ છે.
ત્યારબાદ condition તપાસવામાં આવે છે. |
06:28 | જો કે loop counter i ની વેલ્યુ એ 4 છે, તો condition એ false છે.
તેથી, તે રેકોર્ડ માટે, loop ત્યાંજ ટર્મિનેટ થાય છે. |
06:39 | આ loop એ awkdemo.txt ફાઈલમાં તમામ રેકોર્ડો માટે પુનરાવર્તિત થશે. |
06:44 | જેનો અર્થ એ થાય છે કે દરેક રેકોર્ડ માટે પ્રથમ field પ્રિન્ટ થશે. |
06:49 | આપણને આઉટપુટ દરેક રેકોર્ડ માટે ઓછામાં ઓછું એકવાર મળે છે. |
06:53 | અન્ય કોઈ condition હોવા છતાં, કાર્ય ઓછામાં ઓછું એકવાર એક્ઝિક્યુટ કરવા હેતુ, do-while loop નો ઉપયોગ કરો. |
07:01 | આપણે સમાનને for loop સાથે પણ કરી શકીએ છીએ. |
07:05 | for loop માટેના સિન્ટેક્સને અહીં જોઈ શકાય છે. |
07:09 | for statement એ initialization એક્ઝિક્યુટ કરીને શરુ થાય છે. |
07:14 | ત્યારબાદ, જ્યાંસુધી condition સાચી હોય, ત્યાંસુધી તે અંતર્ગત statements પુનરાવર્તિત રીતે એક્ઝિક્યુટ કરતુ રહે છે અને પછી increments કરતુ રહે છે |
07:23 | એ માનીને ચાલીએ કે તમે C અથવા C++ જેવી ભાષાથી પરિચિત છો, હું સિન્ટેક્સ વિગતમાં સમજાવી નથી રહ્યો. |
07:30 | આ પ્રમાણે for loop આ condition માટે દેખાય છે. |
07:35 | અહીં, initialization, condition તપાસ અને વેરિએબલ વધારો સમાન લાઈનમાં થાય છે. |
07:43 | આ પોતેથી પ્રયાસ કરો. |
07:46 | અહીં કેટલાક વધુ looping constructs છે
break, continue, exit |
07:53 | આપણે આના પર કેટલાક સંબંધિત ઉદાહરણો આવનારા ટ્યુટોરીયલોમાં જોશું. |
07:58 | આપણે આપણી ફાઈલમાં એકલ અને બહુલાઈન comments ધરાવી શકીએ છીએ. |
08:03 | અહીં નોંધ લો, એકલ લાઈન comments એ એકલ hash (#) ચિન્હ સાથે ઘોષિત થાય છે. |
08:10 | બહુલાઇન comments એ બમણા hash (##) ચિન્હની મદદથી ઘોષિત થાય છે. |
08:16 | અત્યારે, આ comments ને તપાસ કરવાનો અને આઉટપુટમાં પ્રિન્ટ કરવાનો કોઈ પોઇન્ટ નથી. |
08:22 | આપણને hash (##) ચિન્હ સાથે શરુ થતી લાઈનોને પડતી મુકવી પડશે.
આપણે આ કેવી રીતે કરી શકીએ? |
08:28 | 8000 થી વધુ મેળવનારને શિષ્યવૃત્તિમાં 50% વધારો આપવાનો કિસ્સો યાદ કરો. |
08:36 | comments ને પડતું મુકવા માટે આપણે સમાન ઉદાહરણ વાપરીશું. |
08:40 | મેં આ એક્ઝિક્યુશન માટે અહીં દર્શાવ્યા પ્રમાણે next.awk નામની ફાઈલ બનાવી છે. |
08:47 | હવે, આ કમાન્ડનો અર્થ શું થાય છે? |
08:50 | awk પેટર્ન માટે શોધ કરશે, caret sign hash symbol(^#) દરેક ફાઈલની શરૂઆતમાં. |
08:57 | જો પેટર્ન મળે છે, તો કીવર્ડ next એ awk ને વર્તમાન લાઈનને તુરત પડતી મુકવાનું કહે છે. |
09:04 | ત્યારબાદ awk ફાઈલમાં આગળની લાઈનથી પ્રોસેસ કરવાનું શરુ કરશે.
આનાથી પ્રોસેસિંગ સમયની બચત થશે. |
09:12 | terminal પર જાવ અને અહીં દર્શાવ્યા પ્રમાણે કમાન્ડ ટાઈપ કરો અને
Enter દબાવો. |
09:20 | આપણને કોઈપણ comments વિના આઉટપુટ મળે છે. |
09:24 | ધારો કે, આપણી પાસે વિદ્યાર્થીનો રેકોર્ડ બહુવિધ ફાઈલોમાં સમાન ફોર્મેટ સાથે છે.
માનો કે awkdemo_mod.txt અને awkdemo2.txt માં |
09:37 | જુઓ, તે આપણી પાછલી ફાઈલના સમાન છે. |
09:41 | સાથે જ તે comments ધરાવે છે જે આગળ hash ચિન્હ હોય છે. |
09:45 | અને તે અંતમાં મોટી ટેક્સ્ટ ધરાવે છે જે બમણા hash ## ચિન્હ સાથે હોય છે. |
09:50 | તો આપણો ડેટા બે વિભિન્ન ફાઈલોમાં છે.
awk એ તમામ વિદ્યાર્થીઓને વધારો આપવા માટે બંને ફાઈલો પ્રોસેસ કરવી જોઈએ. |
09:59 | એકવાર આપણે પહેલી ફાઈલના બમણા hash(##) ચિન્હ પર પહોંચીએ તો, awk એ તે ફાઈલને પ્રોસેસ કરવું પૂર્ણપણે રોકી દેવું જોઈએ. |
10:06 | ત્યારબાદ તેણે આગળની ફાઈલથી એક્ઝિક્યુશન શરુ કરવું પડશે.
આનાથી પ્રોસેસિંગ સમયની બચત થશે. |
10:13 | અહીં દર્શાવ્યા પ્રમાણે next.awk ને મોડીફાય કરો. |
10:17 | મેં begin statement ની નીચે ઉમેરી દીધું છે dollar zero tilde slash caret symbol double hash slash within braces nextfile semicolon . |
10:29 | આ દરેક ફાઈલની શરૂઆતમાં બમણા hash # ચિન્હ માટે શોધશે. |
10:34 | જો મળે તો, awk વર્તમાન ફાઈલને છોડી દેશે અને આગલી ફાઈલ પ્રોસેસ કરશે. |
10:39 | આ ફાઈલને સેવ કરો. |
10:41 | terminal પર જાવ અને આપેલ કમાન્ડ ટાઈપ કરો.
Enter દબાવો. |
10:48 | જુઓ, આપણને બંને ફાઈલોથી આઉટપુટ મળે છે. |
10:53 | અહીં આ ટ્યુટોરીયલનો અંત થાય છે.
ચાલો સારાંશ લઈએ. |
10:58 | આ ટ્યુટોરીયલમાં આપણે આપેલ વિશે શીખ્યા- awk માં while, do… while, for, next, nextfile |
11:06 | એસાઇનમેન્ટ તરીકે, awkdemo2.txt ના વિદ્યાર્થી રેકોર્ડ માટે, ફક્ત સમ fields ને પ્રિન્ટ કરો (એટલે કે field 2, field 4 વગેરે, પછી ભલે input file માં કેટલા પણ fields હોય. |
11:22 | આપેલ લિંક પર ઉપલબ્ધ વિડિઓ સ્પોકન ટ્યુટોરીયલ પ્રોજેક્ટનો સારાંશ આપે છે.
કૃપા કરી તેને ડાઉનલોડ કરીને નિહાળો. |
11:30 | Spoken Tutorial Project ટીમ સ્પોકન ટ્યુટોરીયલોનો ઉપયોગ કરીને વર્કશોપો આયોજે છે અને ઓનલાઇન પરીક્ષા પાસ થવા પર પ્રમાણપત્રો આપે છે.
વધુ વિગત માટે, કૃપા કરી અમને લખો. |
11:43 | શું તમારી પાસે આ સ્પોકન ટ્યુટોરીયલમાં કોઈ પ્રશ્નો છે?
કૃપા કરી આ સાઈટની મુલાકાત લો. |
11:49 | સ્પોકન ટ્યુટોરીયલ પ્રોજેક્ટને NMEICT, MHRD, ભારત સરકાર દ્વારા ફાળો અપાયો છે.
આ મિશન પર વધુ માહિતી આ લિંક પર ઉપલબ્ધ છે. |
12:01 | ભાષાંતર કરનાર, હું ભરત સોલંકી હવે આપથી વિદાય લઉં છું.
જોડાવા બદ્દલ આભાર. |