బాష్‌లో ఇండెక్స్ అర్రేలను ఎలా ఉపయోగించాలి

Bas Lo Indeks Arrelanu Ela Upayogincali



బాష్ సూచిక చేయబడిన శ్రేణులకు మద్దతును అందిస్తుంది, ఇవి తప్పనిసరిగా వాటి సూచిక సంఖ్యను ఉపయోగించి యాక్సెస్ చేయగల మూలకాల జాబితాలు. మీరు అనేక సంబంధిత విలువలను నిల్వ చేయాలనుకున్నప్పుడు మరియు మార్చాలనుకున్నప్పుడు ఇండెక్స్డ్ శ్రేణులు చాలా ఉపయోగకరంగా ఉంటాయి, ఇండెక్స్ శ్రేణులను ఎలా ఉపయోగించాలో తెలుసుకోవడానికి ఈ కథనాన్ని మరింత చదవండి.

ఇండెక్స్ అర్రేస్ అంటే ఏమిటి

ఇండెక్స్డ్ శ్రేణులు బాష్‌లోని మూలకాల సమాహారం, వీటిని ఇండెక్స్ లేదా కీని ఉపయోగించి యాక్సెస్ చేయవచ్చు. ఈ శ్రేణులు నిర్దిష్ట క్రమంలో డేటాను నిల్వ చేయడానికి మరియు తిరిగి పొందేందుకు ఉపయోగించబడతాయి, పెద్ద మొత్తంలో డేటాను నిర్వహించడం సులభతరం చేస్తుంది. బాష్‌లో సూచిక చేయబడిన శ్రేణిని ప్రకటించడానికి వాక్యనిర్మాణం క్రింది విధంగా ఉంది:

< శ్రేణి_పేరు > = ( ఎలిమెంట్1 ఎలిమెంట్2 ఎలిమెంట్3 ... )

ఇక్కడ, array_name అనేది శ్రేణి పేరు, మరియు ఎలిమెంట్1, ఎలిమెంట్2, ఎలిమెంట్3 మరియు మొదలైనవి శ్రేణిలో నిల్వ చేయవలసిన విలువలు. విలువలు వైట్‌స్పేస్ ద్వారా వేరు చేయబడ్డాయి మరియు మీరు శ్రేణిని సృష్టించడానికి డిక్లేర్ ఆదేశాన్ని కూడా ఉపయోగించవచ్చని గమనించండి.







బాష్‌లో ఇండెక్స్డ్ అర్రేలను ఎలా ఉపయోగించాలి

బాష్‌లో సూచిక శ్రేణిని సృష్టించడానికి, మీరు కేవలం ఒక వేరియబుల్‌ను ప్రకటించాలి మరియు కుండలీకరణాల్లో జతచేయబడిన మరియు ఖాళీలతో వేరు చేయబడిన విలువలను కేటాయించాలి. బాష్‌లో ఇండెక్స్డ్ శ్రేణులను ఎలా ఉపయోగించాలో ప్రదర్శించే కొన్ని ఉదాహరణలు ఇక్కడ ఉన్నాయి:



బాష్‌లో జాబితాను క్రమాన్ని మార్చడం

మీరు నిర్దిష్ట క్రమంలో అంశాల జాబితాను కలిగి ఉంటే మరియు మీరు వాటిని వేరొక విధంగా క్రమాన్ని మార్చాలనుకుంటే. కింది విధంగా అంశాల కోసం కొత్త ఆర్డర్‌ను సృష్టించడానికి మీరు సూచిక శ్రేణిని ఉపయోగించవచ్చు:



#!/బిన్/బాష్
అంశాలు = ( 'మామిడి' 'అనాస పండు' 'స్ట్రాబెర్రీ' 'చెర్రీ' 'ద్రాక్ష' )
ఆర్డర్ = ( 4 2 0 3 1 )
కోసం i లో ' ${ఆర్డర్[@]} '
చేయండి
ప్రతిధ్వని ${అంశాలు[$i]}
పూర్తి

ఈ ఉదాహరణలో, మేము ఐదు మూలకాలతో అంశాలు అనే శ్రేణిని సృష్టిస్తాము. మేము ఆర్డర్ అని పిలువబడే సూచిక శ్రేణిని కూడా సృష్టిస్తాము, ఇది అంశాల కోసం కొత్త క్రమాన్ని నిర్దేశిస్తుంది. మేము ఆర్డర్ శ్రేణి ద్వారా లూప్ చేస్తాము మరియు అంశాల శ్రేణి నుండి సంబంధిత అంశాన్ని తిరిగి పొందడానికి మరియు దానిని ముద్రించడానికి ప్రతి విలువను సూచికగా ఉపయోగిస్తాము.





బాష్‌లో జాబితాను ఫిల్టర్ చేస్తోంది

మీరు అంశాల జాబితాను కలిగి ఉంటే మరియు మీరు షరతు ఆధారంగా కొన్ని అంశాలను ఫిల్టర్ చేయాలనుకుంటే. కింది విధంగా షరతుకు అనుగుణంగా ఉన్న అంశాల సూచికలను ట్రాక్ చేయడానికి మీరు సూచిక శ్రేణిని ఉపయోగించవచ్చు:



#!/బిన్/బాష్
అంశాలు = ( 'మామిడి' 'అనాస పండు' 'స్ట్రాబెర్రీ' 'చెర్రీ' 'ద్రాక్ష' )
సూచీలు = ( )

కోసం i లో ' ${!అంశాలు[@]} '
చేయండి
ఉంటే [ [ ${అంశాలు[$i]} == * 'r' * ] ]
అప్పుడు
సూచికలు+= ( $i )
ఉంటుంది
పూర్తి

కోసం i లో ' ${సూచికలు[@]} '
చేయండి
ప్రతిధ్వని ${అంశాలు[$i]}
పూర్తి

ఈ ఉదాహరణలో, మేము ఐదు మూలకాలతో అంశాలు అనే శ్రేణిని సృష్టిస్తాము. మేము సూచికలు అనే ఖాళీ సూచిక శ్రేణిని కూడా సృష్టిస్తాము. మేము అంశాల శ్రేణి ద్వారా లూప్ చేస్తాము మరియు ప్రతి అంశంలో 'r' అక్షరం ఉందో లేదో తనిఖీ చేస్తాము. అలా చేస్తే, మేము దాని సూచికను సూచికల శ్రేణికి జోడిస్తాము. చివరగా, మేము సూచికల శ్రేణి ద్వారా లూప్ చేస్తాము మరియు అంశాల శ్రేణి నుండి సంబంధిత అంశాన్ని తిరిగి పొందడానికి మరియు దానిని ముద్రించడానికి ప్రతి విలువను సూచికగా ఉపయోగిస్తాము.

బాష్‌లో లెక్కింపు సంఘటనలు

మీరు అంశాల జాబితాను కలిగి ఉంటే మరియు మీరు ప్రతి అంశం యొక్క సంఘటనల సంఖ్యను లెక్కించాలనుకుంటే, మీరు గణనలను ట్రాక్ చేయడానికి సూచిక శ్రేణిని ఉపయోగించవచ్చు మరియు ప్రదర్శన కోసం ఇక్కడ ఒక ఉదాహరణ ఉంది:

#!/బిన్/బాష్
అంశాలు = ( 'మామిడి' 'అనాస పండు' 'స్ట్రాబెర్రీ' 'చెర్రీ' 'ద్రాక్ష' )
లెక్కించబడుతుంది = ( )

కోసం i లో ' ${!అంశాలు[@]} '
చేయండి
ఉంటే [ [ ! ' ${గణనలు[@]} ' =~ ' ${అంశాలు[$i]} ' ] ]
అప్పుడు
గణనలు+= ( ' ${అంశాలు[$i]} 1' )
లేకపోతే
సూచిక =$ ( ప్రతిధ్వని ' ${గణనలు[@]} ' | tr '' '\n' | పట్టు -ఎన్ '^ ${అంశాలు[$i]} ' | తో )
లెక్కించండి =$ ( ప్రతిధ్వని ' ${counts[$index-1]} ' | కట్ -డి '' -f2 )
లెక్కించబడుతుంది [ $ సూచిక - 1 ] = ' ${అంశాలు[$i]} $((కౌంట్+1) )'
ఉంటుంది
పూర్తి

కోసం లెక్కించండి లో ' ${గణనలు[@]} '
చేయండి
ప్రతిధ్వని $కౌంట్
పూర్తి

ఇది మొదట స్ట్రింగ్‌ల జాబితాతో 'అంశాలు' అనే శ్రేణిని ప్రారంభిస్తుంది. అప్పుడు అది 'కౌంట్స్' అనే ఖాళీ శ్రేణిని ప్రకటించింది. 'ఐటెమ్‌లు' శ్రేణిలోని ప్రతి అంశానికి మళ్ళించడానికి A for loop సృష్టించబడుతుంది మరియు ప్రతి అంశం కోసం ఇది ఇప్పటికే 'గణనలు' శ్రేణిలో ఉందో లేదో తనిఖీ చేస్తుంది.

అది ఉనికిలో లేకుంటే, అది 'గణనలు' శ్రేణికి అంశం మరియు 1 యొక్క గణనను జోడిస్తుంది. అది ఉనికిలో ఉన్నట్లయితే, అది 'గణనలు' శ్రేణిలో ఆ అంశం యొక్క గణనను పెంచుతుంది. చివరగా, ప్రతి అంశాన్ని ప్రింట్ చేయడానికి మరియు లూప్ కోసం దాని సంబంధిత కౌంట్ మరొకటి ఉపయోగించబడుతుంది. ఈ కోడ్ యొక్క అవుట్‌పుట్ 'ఐటెమ్‌లు' శ్రేణిలోని ప్రతి అంశం యొక్క గణనను ప్రింట్ చేస్తుంది, నకిలీలు విడిగా లెక్కించబడతాయి.

బాష్‌లో జాబితాను నవీకరిస్తోంది

మీరు అంశాల జాబితాను కలిగి ఉంటే మరియు మీరు దాని నుండి అంశాలను జోడించాలనుకుంటే లేదా తొలగించాలనుకుంటే, మీరు దాని కోసం సూచిక శ్రేణిని ఉపయోగించవచ్చు మరియు ప్రదర్శన కోసం ఇక్కడ ఒక ఉదాహరణ ఉంది:

#!/బిన్/బాష్
అంశాలు = ( 'మామిడి' 'అనాస పండు' 'స్ట్రాబెర్రీ' 'చెర్రీ' 'ద్రాక్ష' )

# ఇండెక్స్ 2 వద్ద ఇండెక్స్ చేయబడిన శ్రేణికి కొత్త మూలకాన్ని జోడించడం
అంశాలు [ 6 ] = 'నారింజ'
# ఇండెక్స్ చేయబడిన శ్రేణి నుండి ఇండెక్స్ 2 వద్ద మూలకాన్ని తొలగిస్తోంది
సెట్ చేయబడలేదు అంశాలు [ 2 ]

# నవీకరించబడిన శ్రేణిని ముద్రించడం
ప్రతిధ్వని ' ${అంశాలు[@]} '

స్క్రిప్ట్‌లో సూచిక చేయబడిన శ్రేణి 'అంశాలు' ఐదు ప్రారంభ మూలకాలతో నిర్వచించబడింది. కొత్త మూలకాన్ని జోడించడానికి, సింటాక్స్ శ్రేణి[index]=valueని ఉపయోగించి విలువ కేవలం కావలసిన సూచికకు కేటాయించబడుతుంది. ఈ స్క్రిప్ట్‌లో, శ్రేణి యొక్క సూచిక 6కి “నారింజ” జోడించబడింది. మూలకాన్ని తొలగించడానికి, మేము తీసివేయాలనుకుంటున్న మూలకం యొక్క సూచికను అనుసరించి సెట్ చేయని ఆదేశాన్ని ఉపయోగిస్తాము. ఈ సందర్భంలో, ఇండెక్స్ 2 ('స్ట్రాబెర్రీ') వద్ద ఉన్న మూలకం తొలగించబడుతుంది. నవీకరించబడిన శ్రేణి '${array[@]}' సింటాక్స్ ఉపయోగించి ముద్రించబడుతుంది, ఇది మొత్తం శ్రేణిని విస్తరిస్తుంది.

ముగింపు

ఇండెక్స్ చేయబడిన శ్రేణులు ఒక వేరియబుల్ ఉపయోగించి బహుళ విలువలను నిల్వ చేయడానికి మరియు మార్చడానికి మిమ్మల్ని అనుమతించే బాష్ యొక్క సులభ నిర్మాణం. సింటాక్స్ మరియు ఇండెక్స్డ్ శ్రేణుల వినియోగాన్ని అర్థం చేసుకోవడం ద్వారా, మీరు మరింత సమర్థవంతమైన మరియు ప్రభావవంతమైన బాష్ స్క్రిప్ట్‌లను వ్రాయవచ్చు.