பாஷில் 2டி வரிசையைப் படிக்க readarray கட்டளையைப் பயன்படுத்துவது எப்படி

Pasil 2ti Varicaiyaip Patikka Readarray Kattalaiyaip Payanpatuttuvatu Eppati



பாஷ் என்பது லினக்ஸ் மற்றும் யூனிக்ஸ் இயக்க முறைமைகளில் பயன்படுத்தப்படும் பிரபலமான ஷெல் ஸ்கிரிப்டிங் மொழியாகும். இது பல கட்டளைகள் மற்றும் அம்சங்களை வழங்குகிறது, இது மீண்டும் மீண்டும் செய்யும் பணிகளை தானியங்குபடுத்துவதை எளிதாக்குகிறது. 'readarray' என்பது பாஷில் மிகவும் பயனுள்ள கட்டளைகளில் ஒன்றாகும். இந்த கட்டளையுடன், ஒரு கோப்பிலிருந்து வரும் வரிகளை 2D வரிசையில் படிக்கலாம். இந்த இடுகையில், பாஷின் 'readarray' கட்டளையைப் பயன்படுத்தி ஒரு கோப்பிலிருந்து வரிகளை 2D வரிசையில் படிப்பது எப்படி என்று பார்ப்போம்.

பாஷில் 'readarray' ஐப் பயன்படுத்துதல்

'readarray' கட்டளை ஒரு கோப்பு அல்லது நிலையான உள்ளீட்டிலிருந்து வரிகளைப் படித்து அவற்றை ஒரு வரிசைக்கு ஒதுக்குகிறது. 'readarray' ஐப் பயன்படுத்துவதற்கான தொடரியல் பின்வருமாறு:







வாசிப்பு [ -d SHARE ] [ -n COUNT ] [ - தோற்றம் ] [ -கள் COUNT ] [ -டி ] வரிசை


'readarray' கட்டளைக்கு கிடைக்கக்கூடிய விருப்பங்கள்:



'-d SHARE': கோடுகளை வரிசை உறுப்புகளாகப் பிரிக்கும் போது பயன்படுத்துவதற்கு டிலிமிட்டரை அமைக்கிறது மற்றும் முன்னிருப்பாக, டிலிமிட்டர் ஒரு புதிய வரி எழுத்து.



‘-n COUNT’: அணிவரிசையில் படிக்க வேண்டிய அதிகபட்ச வரிகளின் எண்ணிக்கையைக் குறிப்பிடுகிறது.





'-ஓ தோற்றம்' : வரிசையின் தொடக்க குறியீட்டை அமைக்கிறது.

‘-கள் COUNT’: வரிசையில் படிக்கும் முன் தவிர்க்க வேண்டிய வரிகளின் எண்ணிக்கையைக் குறிப்பிடுகிறது.



‘-டி’: அணிவரிசையில் படிக்கப்படும் ஒவ்வொரு வரியிலிருந்தும் புதிய வரி எழுத்தை நீக்குகிறது.

ஒரு கோப்பிலிருந்து வரிகளை 2D வரிசையில் படிக்க 'readarray' ஐப் பயன்படுத்துவதற்கான ஒரு எடுத்துக்காட்டு இங்கே உள்ளது, அதற்காக நான் உருவாக்கியுள்ளேன். testfile.txt யாருடைய உள்ளடக்கங்கள்:

1 2 3
4 5 6
7 8 9


எனவே 'readarray' கட்டளையின் பயன்பாட்டை நிரூபிக்கும் முழுமையான பாஷ் ஸ்கிரிப்ட் இங்கே:

#!/பின்/பாஷ்
# கோப்பிலிருந்து வரிகளை வரிசையில் படிக்கவும்
வாசிப்பு -டி கோடுகள் < testfile.txt
# 3 வரிசைகள் மற்றும் 3 நெடுவரிசைகள் கொண்ட 2D வரிசையை அறிவிக்கவும்
அறிவிக்கின்றன -ஏ வரிசை
# கோடுகளுக்கு மேல் திரும்பவும் ஒவ்வொரு வரியையும் தனிமங்களாகப் பிரிக்கவும்
க்கான நான் உள்ளே ' ${!வரிகள்[@]} ' ; செய்
ஐ.எஃப்.எஸ் = '''' படி -ஆர் -அ உறுப்புகள் <<< ' ${வரிகள்[i]} '
க்கான ஜே உள்ளே ' ${!உறுப்புகள்[@]} ' ; செய்
என்றால் [ [ -என் ' ${உறுப்புகள்[j]} ' ] ] ; பிறகு
வரிசை [ $i , $j ] = ${உறுப்புகள்[j]}
இரு
முடிந்தது
முடிந்தது
# வரிசையை அச்சிடவும்
க்கான ( ( நான் = 0 ;நான் < 3 ;i++ ) ) ; செய்
க்கான ( ( ஜே = 0 ;ஜே < 3 ;j++ ) ) ; செய்
எதிரொலி -என் ' ${வரிசை[$i,$j]} '
முடிந்தது
எதிரொலி
முடிந்தது


இங்கே முதலில் நான் 'வரிசை' எனப்படும் 2D வரிசையை அறிவித்துள்ளேன், பின்னர் 'readarray' கட்டளையைப் பயன்படுத்தி 'testfile.txt' என்ற கோப்பிலிருந்து வரிகளை 'வரிகள்' வரிசையில் படிக்கிறேன். அடுத்து, குறியீடு 'கோடுகள்' வரிசையின் மீது மீண்டும் செயல்படுகிறது மற்றும் 'IFS' மற்றும் 'read' கட்டளைகளைப் பயன்படுத்தி ஒவ்வொரு வரியையும் உறுப்புகளாகப் பிரிக்கிறது.

அதன் பிறகு, இது 2D வரிசை 'வரிசை'யில் உள்ள உறுப்புகளைச் சேமித்து, ஒவ்வொரு வரியையும் உறுப்புகளாகப் பிரிக்க வாசிப்பு கட்டளையைப் பயன்படுத்துகிறது. இப்போது ஒவ்வொரு உறுப்பும் 'வரிசை' வரிசையில் உள்ள தொடர்புடைய உறுப்புக்கு ஒதுக்கப்பட்டு இறுதியாக, லூப்களுக்கு உள்ளமைக்கப்பட்ட 'வரிசை' அணிவரிசையின் உள்ளடக்கங்கள் அச்சிடப்படுகின்றன.

முடிவுரை

'readarray' கட்டளையானது பாஷ் ஸ்கிரிப்ட்களில் அதிக அளவு தரவுகளை கையாளுவதை எளிதாக்குகிறது. இந்தக் கட்டுரையில் கொடுக்கப்பட்டுள்ள எடுத்துக்காட்டுகளைப் பின்பற்றுவதன் மூலம், உங்கள் சொந்த பாஷ் ஸ்கிரிப்ட்களில் 'readarray' ஐப் பயன்படுத்தி கோப்புகளிலிருந்து வரிகளைப் படித்து அவற்றை 2D வரிசைகளில் செயலாக்கலாம்.