బాష్ రేంజ్: షెల్‌పై జనరేట్ చేసిన సీక్వెన్స్‌లపై ఎలా మళ్లించాలి

Bash Range How Iterate Over Sequences Generated Shell



మీరు బాష్‌లోని సంఖ్యల క్రమాన్ని రెండు విధాలుగా మార్చవచ్చు. ఒకటి ఉపయోగించడం ద్వారా సీక్యూ కమాండ్ మరియు మరొకటి లూప్ కోసం పరిధిని పేర్కొనడం ద్వారా. లో సీక్యూ కమాండ్, సీక్వెన్స్ ఒకటి నుండి మొదలవుతుంది, ప్రతి స్టెప్‌లో ఒక సంఖ్య సంఖ్య ఇంక్రిమెంట్‌లు మరియు డిఫాల్ట్‌గా ఎగువ పరిమితి వరకు ప్రతి లైన్‌లో ప్రతి నంబర్‌ను ప్రింట్ చేయండి. ఎగువ పరిమితి నుండి సంఖ్య ప్రారంభమైతే, అది ప్రతి దశలో ఒకటి తగ్గుతుంది. సాధారణంగా, అన్ని సంఖ్యలు ఫ్లోటింగ్ పాయింట్‌గా వివరించబడతాయి, అయితే సీక్వెన్స్ పూర్ణాంకం నుండి ప్రారంభమైతే దశాంశ పూర్ణాంకాల జాబితా ముద్రించబడుతుంది. ఒకవేళ seq కమాండ్ విజయవంతంగా అమలు చేయగలిగితే అది 0 ని అందిస్తుంది, లేకుంటే అది ఏదైనా సున్నా కాని సంఖ్యను అందిస్తుంది. పరిధితో లూప్‌ని ఉపయోగించి మీరు సంఖ్యల క్రమాన్ని కూడా మళ్లీ చేయవచ్చు. రెండు సీక్యూ ఉదాహరణలను ఉపయోగించి ఈ ట్యుటోరియల్‌లో కమాండ్ మరియు రేంజ్‌తో లూప్ చూపబడ్డాయి.

Seq కమాండ్ యొక్క ఎంపికలు:

మీరు ఉపయోగించవచ్చు సీక్యూ కింది ఎంపికలను ఉపయోగించడం ద్వారా ఆదేశం.







-ఇన్

ఈ ఐచ్ఛికం అన్ని సంఖ్యలను సమాన వెడల్పుతో ముద్రించడానికి ప్రముఖ సున్నాలతో సంఖ్యలను ప్యాడ్ చేయడానికి ఉపయోగించబడుతుంది.



-f ఫార్మాట్

ఈ ఐచ్ఛికం నిర్దిష్ట ఆకృతితో సంఖ్యను ముద్రించడానికి ఉపయోగించబడుతుంది. ఫ్లోటింగ్ సంఖ్యను %f, %g మరియు %e లను కన్వర్షన్ అక్షరాలుగా ఉపయోగించడం ద్వారా ఫార్మాట్ చేయవచ్చు. %g డిఫాల్ట్‌గా ఉపయోగించబడుతుంది.



-s స్ట్రింగ్

స్ట్రింగ్‌తో సంఖ్యలను వేరు చేయడానికి ఈ ఐచ్చికం ఉపయోగించబడుతుంది. డిఫాల్ట్ విలువ న్యూలైన్ (‘ n’).





Seq ఆదేశానికి ఉదాహరణలు:

మీరు మూడు విధాలుగా seq ఆదేశాన్ని దరఖాస్తు చేసుకోవచ్చు. మీరు ప్రతి దశ యొక్క ఇంక్రిమెంట్ లేదా తగ్గింపు విలువతో ఎగువ పరిమితి లేదా ఎగువ మరియు దిగువ పరిమితి లేదా ఎగువ మరియు దిగువ పరిమితిని మాత్రమే ఉపయోగించవచ్చు. ఎంపికలతో కూడిన seq కమాండ్ యొక్క వివిధ ఉపయోగాలు క్రింది ఉదాహరణలలో చూపబడ్డాయి.

ఉదాహరణ -1: ఎంపిక లేకుండా seq కమాండ్

ఎగువ పరిమితిని మాత్రమే ఉపయోగించినప్పుడు, సంఖ్య 1 నుండి ప్రారంభమవుతుంది మరియు ప్రతి దశలో ఒకటి పెరుగుతుంది. కింది ఆదేశం 1 నుండి 4 వరకు సంఖ్యను ప్రింట్ చేస్తుంది.



$సీక్యూ 4

అవుట్‌పుట్:

రెండు విలువలు seq ఆదేశంతో ఉపయోగించినప్పుడు మొదటి విలువ ప్రారంభ సంఖ్యగా మరియు రెండవ విలువ ముగింపు సంఖ్యగా ఉపయోగించబడుతుంది. కింది ఆదేశం 7 నుండి 15 వరకు సంఖ్యను ప్రింట్ చేస్తుంది.

$సీక్యూ 7 పదిహేను

అవుట్‌పుట్:

మీరు seq కమాండ్‌తో మూడు విలువలను ఉపయోగించినప్పుడు రెండవ విలువ ప్రతి దశకు ఇంక్రిమెంట్ లేదా తగ్గింపు విలువగా ఉపయోగించబడుతుంది. కింది ఆదేశం కోసం, ప్రారంభ సంఖ్య 10, ముగింపు సంఖ్య 1 మరియు ప్రతి దశ 2 తగ్గించడం ద్వారా లెక్కించబడుతుంది.

$సీక్యూ 10 -2 1

అవుట్‌పుట్:

ఉదాహరణ -2: –w ఎంపికతో seq

కింది ఆదేశం 1 నుండి 9 వరకు ఉన్న సంఖ్యకు ప్రముఖ సున్నాను జోడించడం ద్వారా అవుట్‌పుట్‌ను ప్రింట్ చేస్తుంది.

$సీక్యూ -ఇన్0110

అవుట్‌పుట్:

ఉదాహరణ -3: –s ఎంపికతో seq

కింది ఆదేశం ఉపయోగిస్తుంది - ప్రతి సీక్వెన్స్ నంబర్ కోసం సెపరేటర్‌గా. సంఖ్యల క్రమం జోడించడం ద్వారా ముద్రించబడుతుంది - సెపరేటర్‌గా.

$సీక్యూ -ఎస్-8

అవుట్‌పుట్:

ఉదాహరణ -4: -f ఎంపికతో seq

కింది ఆదేశం 1 నుండి ప్రారంభమయ్యే 10 తేదీ విలువలను ప్రింట్ చేస్తుంది. ఇక్కడ, ఇతర స్ట్రింగ్ విలువతో సీక్వెన్స్ సంఖ్యను జోడించడానికి %g ఎంపిక ఉపయోగించబడుతుంది.

$సీక్యూ -f '%g/04/2018' 10

అవుట్‌పుట్:

బాష్ రేంజ్

కింది ఆదేశం %f ఉపయోగించి ఫ్లోటింగ్ పాయింట్ నంబర్ సీక్వెన్స్ జనరేట్ చేయడానికి ఉపయోగించబడుతుంది. ఇక్కడ, సంఖ్య 3 నుండి ప్రారంభమవుతుంది మరియు ప్రతి దశలో 0.8 పెరుగుతుంది మరియు చివరి సంఖ్య 6 కంటే తక్కువ లేదా సమానంగా ఉంటుంది.

$సీక్యూ -f '%f' 3 0.8 6

అవుట్‌పుట్:

ఉదాహరణ -5: సీక్వెన్స్‌ని ఫైల్‌లో రాయండి

మీరు కన్సోల్‌లో ప్రింట్ చేయకుండా నంబర్ సీక్వెన్స్‌ని ఫైల్‌లోకి సేవ్ చేయాలనుకుంటే, మీరు కింది ఆదేశాలను ఉపయోగించవచ్చు. మొదటి కమాండ్ అనే ఫైల్‌కి సంఖ్యలను ముద్రించును seq.txt . ప్రతి దశలో 5 నుండి 20 వరకు సంఖ్య పెరుగుతుంది మరియు 10 ద్వారా పెరుగుతుంది. రెండవ కమాండ్ కంటెంట్‌ని చూడటానికి ఉపయోగించబడుతుంది seq.txt ఫైల్.

$ seq 5 10 20 | పిల్లి> seq.txt
$ cat seq.txt

అవుట్‌పుట్:

ఉదాహరణ -6: లూప్ కోసం సీక్ ఇన్ ఉపయోగించడం

మీరు seq తో లూప్ కోసం ఉపయోగించి fn1 నుండి fn10 అనే ఫైల్‌లను సృష్టించాలనుకుంటున్నారని అనుకుందాం. Sq1.bash అనే ఫైల్‌ను సృష్టించి, కింది కోడ్‌ని జోడించండి. లూప్ సీక్ కమాండ్ ఉపయోగించి 10 సార్లు మళ్ళి మరియు fn1, fn2, fn3 ... ..fn10 సీక్వెన్స్‌లో 10 ఫైల్‌లను సృష్టిస్తుంది.

#!/బిన్/బాష్
కోసంiలో 'సీక్యూ 10'
చేయండి
స్పర్శfn.$ i
పూర్తి

అవుట్‌పుట్:

బాష్ ఫైల్ కోడ్‌ను అమలు చేయడానికి కింది ఆదేశాలను అమలు చేయండి మరియు ఫైల్‌లు సృష్టించబడ్డాయా లేదా అని తనిఖీ చేయండి.

$బాష్sq1.బాష్
$ls

పరిధితో లూప్ కోసం ఉదాహరణలు:

ఉదాహరణ -7: పరిధి కలిగిన లూప్ కోసం

Seq కమాండ్ యొక్క ప్రత్యామ్నాయం పరిధి. మీరు seq వంటి సంఖ్యల క్రమాన్ని రూపొందించడానికి లూప్ కోసం పరిధిని ఉపయోగించవచ్చు. అనే బాష్ ఫైల్‌లో కింది కోడ్ రాయండి sq2.బాష్ . లూప్ 5 సార్లు పునరావృతమవుతుంది మరియు ప్రతి దశలో ప్రతి సంఖ్య యొక్క వర్గమూలాన్ని ప్రింట్ చేస్తుంది.

#!/బిన్/బాష్
కోసంఎన్లో {1..5}
చేయండి
((ఫలితం= ఎన్*ఎన్))
బయటకు విసిరారు $ n చదరపు=$ ఫలితం
పూర్తి

అవుట్‌పుట్:

ఫైల్ స్క్రిప్ట్‌ను అమలు చేయడానికి ఆదేశాన్ని అమలు చేయండి.

$బాష్sq2.బాష్

ఉదాహరణ -8: పరిధి మరియు ఇంక్రిమెంట్ విలువతో లూప్ కోసం

డిఫాల్ట్‌గా, సంఖ్య seq వంటి పరిధిలో ప్రతి దశలో ఒకటి పెరుగుతుంది. మీరు ఇంక్రిమెంట్ విలువను పరిధిలో కూడా మార్చవచ్చు. అనే బాష్ ఫైల్‌లో కింది కోడ్ రాయండి sq3.బాష్ . స్క్రిప్ట్‌లోని ఫోర్ లూప్ 5 సార్లు పునరావృతమవుతుంది, ప్రతి స్టెప్ 2 ద్వారా పెరుగుతుంది మరియు 1 నుండి 10 మధ్య అన్ని బేసి సంఖ్యలను ప్రింట్ చేస్తుంది.

#!/బిన్/బాష్
బయటకు విసిరారు '1 నుండి 10 వరకు అన్ని బేసి సంఖ్యలు'
కోసంiలో {1..10..2}
చేయండి
బయటకు విసిరారు $ i;
పూర్తి

అవుట్‌పుట్:

ఫైల్ స్క్రిప్ట్‌ను అమలు చేయడానికి ఆదేశాన్ని అమలు చేయండి.

$బాష్sq3.బాష్

మీరు సంఖ్యల క్రమంతో పని చేయాలనుకుంటే, ఈ ట్యుటోరియల్‌లో చూపిన ఏవైనా ఎంపికలను మీరు ఉపయోగించవచ్చు. ఈ ట్యుటోరియల్‌ని పూర్తి చేసిన తర్వాత, మీరు మీ బాష్ స్క్రిప్ట్‌లో సీక్ కమాండ్ మరియు లూప్ రేంజ్‌ని మరింత సమర్థవంతంగా ఉపయోగించగలరు.