ఒక ఫైల్‌లోని ప్రతి పంక్తికి బాష్

Bash Each Line File



బాష్‌లోని ఫోర్ లూప్ బహుళ పనులను నిర్వహించడానికి విభిన్న వైవిధ్యాలతో ఉపయోగించవచ్చు. అలాంటి ఒక వైవిధ్యం అనేది ఫైల్‌లోని ప్రతి పంక్తికి సంబంధించినది, ఇది ఒక ఫైల్‌లోని అన్ని పంక్తులను చదవడానికి బాధ్యత వహిస్తుంది. ఈ వ్యాసంలో, బాష్‌లోని ఫైల్‌లోని ప్రతి లైన్ కోసం ఉపయోగించే పద్ధతుల గురించి మేము మాట్లాడుతాము.

గమనిక: దిగువ చూపిన పద్ధతులు ఉబుంటు 20.04 లో ప్రదర్శించబడ్డాయి. అయితే, అవి ఏవైనా ఇతర లైనక్స్ పంపిణీతో కూడా బాగా పనిచేస్తాయి.







బాష్‌లోని ఫైల్‌లోని ప్రతి లైన్ కోసం ఉపయోగించే పద్ధతులు:

ఈ పద్ధతులలో, మీరు ఫైల్ నుండి ప్రతి పంక్తిని చదవగల ఒక ఉదాహరణను మేము మీకు చూపుతాము, ఆపై మీరు దానిని టెర్మినల్‌లో ప్రదర్శించవచ్చు లేదా మీరు ఈ పంక్తులను మరొక ఫైల్‌లో కూడా నిల్వ చేయవచ్చు. ఈ రెండు పద్ధతులను పరిశీలిద్దాం.



విధానం # 1: టెర్మినల్‌లో రీడ్ లైన్‌లను ప్రదర్శించడానికి:

ఫైల్‌లోని ప్రతి పంక్తిని ఉపయోగించి టెర్మినల్‌లో ఫైల్ లైన్‌లను ప్రదర్శించడానికి, మీరు ఈ క్రింది దశలను చేయాలి:



దశ # 1: డమ్మీ టెక్స్ట్ ఫైల్‌ను సృష్టించడం:

ముందుగా, మీరు ప్రదర్శన కొరకు కొంత యాదృచ్ఛిక డేటాతో ఒక టెక్స్ట్ ఫైల్‌ని సృష్టించాలి. అయినప్పటికీ, ఈ టెక్స్ట్ ఫైల్ ఎక్కడైనా సృష్టించవచ్చు, అయితే, మీరు దీన్ని హోమ్ ఫోల్డర్‌లో సృష్టించాలని సిఫార్సు చేయబడింది. అలా చేయడం కోసం, క్రింద చూపిన చిత్రంలో హైలైట్ చేయబడిన ఫైల్ మేనేజర్ చిహ్నంపై క్లిక్ చేయండి:





  • డమ్మీ టెక్స్ట్ ఫైల్‌ని సృష్టిస్తోంది

    ఇప్పుడు మీ హోమ్ ఫోల్డర్‌లో ఎక్కడైనా కుడి క్లిక్ చేసి, కనిపించే మెనూ నుండి కొత్త డాక్యుమెంట్ ఎంపికను ఎంచుకోండి. అప్పుడు ఖాళీ డాక్యుమెంట్ ఎంపికను ఎంచుకోండి. మీ హోమ్ ఫోల్డర్‌లో ఖాళీ డాక్యుమెంట్ సృష్టించబడిన తర్వాత, దాని కోసం .txt పొడిగింపు తర్వాత మీకు నచ్చిన పేరును అందించండి. ఈ ఉదాహరణలో, మేము దీనిని ForEachLine.txt గా పేరు పెట్టాము.

  • డమ్మీ టెక్స్ట్ ఫైల్ 2 సృష్టిస్తోంది
    దీన్ని తెరవడానికి ఈ టెక్స్ట్ ఫైల్‌పై డబుల్ క్లిక్ చేసి, ఆపై కింది చిత్రంలో చూపిన విధంగా ఏదైనా యాదృచ్ఛిక వచనాన్ని టైప్ చేయండి. ఇలా చేసిన తర్వాత, ఈ ఫైల్‌ను సేవ్ చేసి, దాన్ని మూసివేయండి.



  • డమ్మీ టెక్స్ట్ ఫైల్‌ను సృష్టిస్తోంది 3

    దశ # 2: బాష్ స్క్రిప్ట్ సృష్టిస్తోంది:

    ఇప్పుడు మీరు హోమ్ ఫోల్డర్‌లో టెక్స్ట్ ఫైల్‌ని సృష్టించిన విధంగానే బాష్ ఫైల్‌ని క్రియేట్ చేయండి. ఈసారి తప్పక .txt ఎక్స్‌టెన్షన్‌కు బదులుగా .sh ఎక్స్‌టెన్షన్ తర్వాత దాని పేరును మీరు అందించాలి. మేము మా బాష్ ఫైల్‌కి ForEachLine.sh అని పేరు పెట్టాము కానీ మీరు మీకు నచ్చిన పేరు ఏదైనా ఇవ్వవచ్చు.
    బాష్ స్క్రిప్ట్ సృష్టిస్తోంది

    ఈ ఫైల్‌పై డబుల్ క్లిక్ చేయడం ద్వారా దాన్ని తెరిచి, ఆపై కొత్తగా సృష్టించిన బాష్ ఫైల్‌లో దిగువ చిత్రంలో చూపిన స్క్రిప్ట్‌ను టైప్ చేయండి. ఇక్కడ, కింది స్క్రిప్ట్ బాష్ స్క్రిప్ట్ అని సూచించడానికి మొదటి పంక్తి ఉంది. మేము ఫైల్ అనే వేరియబుల్‌ను సృష్టించాము మరియు దానికి మా టెక్స్ట్ ఫైల్ పేరును దాని విలువగా కేటాయించాము, అంటే ForEachLine.txt. అప్పుడు మేము లైన్స్ అనే వేరియబుల్ క్రియేట్ చేసి దానిని $ (cat $ File) కి సమానం చేసాము. ఇక్కడ, పిల్లి ఆదేశం మా టెక్స్ట్ ఫైల్‌లోని విషయాలను చదువుతుంది మరియు దాని ముందు $ చిహ్నం ఉన్నప్పుడు, ఈ ఆదేశం ద్వారా చదివిన విషయాలు లైన్స్ వేరియబుల్‌లో నిల్వ చేయబడతాయి. ఈ విధంగా, ForEachLine.txt అనే ఫైల్ యొక్క అన్ని పంక్తులు లైన్స్ వేరియబుల్‌లో నిల్వ చేయబడతాయి. అప్పుడు మేము ఇటరేటర్ లైన్ ఉన్న ఫర్ లూప్‌ను వర్తింపజేసాము. ఈ ఇటరేటర్ మేము పైన సృష్టించిన లైన్స్ వేరియబుల్‌లో పనిచేస్తుంది మరియు ఇది అన్ని పంక్తుల ద్వారా ఒక్కొక్కటిగా మారుతుంది. డూ-డోన్ బ్లాక్‌లో, మేము ఎకో కమాండ్‌ను ఉపయోగించడం ద్వారా ఈ అన్ని లైన్‌లను టెర్మినల్‌లో ప్రదర్శించాము.
    బాష్ స్క్రిప్ట్ సృష్టిస్తోంది 2

    దశ # 3: బాష్ స్క్రిప్ట్ రన్నింగ్:

    ఇప్పుడు ఉబుంటు 20.04 లో టెర్మినల్‌ని ప్రారంభించండి మరియు పైన సృష్టించబడిన బాష్ స్క్రిప్ట్‌ను అమలు చేయడానికి కింది ఆదేశాన్ని అమలు చేయండి:
    బాష్ ForEachLine.sh
    బాష్ స్క్రిప్ట్ రన్నింగ్

    ఈ ఆదేశం బాష్ స్క్రిప్ట్‌ను అమలు చేయడానికి చేసినప్పుడు, కింది చిత్రంలో చూపిన విధంగా మీరు మీ టెర్మినల్‌లో మీ టెక్స్ట్ ఫైల్ యొక్క అన్ని పంక్తులను చూడగలుగుతారు:
    బాష్ స్క్రిప్ట్ రన్నింగ్

    విధానం # 2: అన్ని రీడ్ లైన్‌లను మరొక ఫైల్‌లో సేవ్ చేయడానికి:

    ఈ పద్ధతిలో, అన్ని రీడ్ లైన్‌లను టెర్మినల్‌లో ప్రదర్శించడం కంటే కొత్త టెక్స్ట్ ఫైల్‌లో సేవ్ చేయడం కోసం పై పద్ధతిలో సృష్టించబడిన బాష్ స్క్రిప్ట్‌ని కొద్దిగా సవరించాము. దీన్ని చేయడానికి, దిగువ పేర్కొన్న దశలను చేయండి:

    దశ # 1: పైన సృష్టించబడిన బాష్ స్క్రిప్ట్‌ను సవరించడం మరియు దాన్ని అమలు చేయడం:

    పై పద్ధతిలో మీరు సృష్టించిన బాష్ స్క్రిప్ట్‌ను తెరిచి, కింది చిత్రంలో చూపిన విధంగా సవరించండి. మేము డూ-డోన్ బ్లాక్‌లోని ఎకో కమాండ్ తర్వాత >> చిహ్నాన్ని జోడించి కొత్త ఫైల్ పేరును జోడించాము. ఈ సవరణ టెర్మినల్‌లో ప్రదర్శించడానికి బదులుగా అన్ని రీడ్ లైన్‌లను కొత్త టెక్స్ట్ ఫైల్‌కి సేవ్ చేస్తుంది. ఇప్పుడు బాష్ కమాండ్‌తో టెర్మినల్ ద్వారా బాష్ స్క్రిప్ట్‌ను మళ్లీ అమలు చేయండి, తర్వాత బాష్ ఫైల్ పేరు. ఈసారి బాష్ స్క్రిప్ట్ రన్ అవుతున్నప్పుడు, ఇది కొత్త టెక్స్ట్ ఫైల్‌ని సృష్టిస్తుంది, ఈ సందర్భంలో దీని పేరు NewFile.txt.
    పైన సృష్టించబడిన బాష్ స్క్రిప్ట్‌ను సవరించడం మరియు దాన్ని అమలు చేయడం 1

    దశ # 2: కొత్తగా సృష్టించిన టెక్స్ట్ ఫైల్‌ని యాక్సెస్ చేయడం:

    అన్ని రీడ్ లైన్‌లు కొత్త టెక్స్ట్ ఫైల్‌లో సేవ్ చేయబడ్డాయో లేదో ధృవీకరించడానికి, మీ టెర్మినల్‌లో కింది ఆదేశాన్ని అమలు చేయడం ద్వారా మీరు ఆ ఫైల్‌లోని కంటెంట్‌లను చూడవచ్చు:
    పిల్లి NewFile.txt
    కొత్తగా సృష్టించిన టెక్స్ట్ ఫైల్‌ని యాక్సెస్ చేస్తోంది
    దిగువ చిత్రంలో చూపిన అవుట్‌పుట్ అన్ని రీడ్ లైన్‌లు కొత్త టెక్స్ట్ ఫైల్‌కు కాపీ చేయబడిందని మీకు భరోసా ఇస్తుంది.
    కొత్తగా సృష్టించిన టెక్స్ట్ ఫైల్ 2 ని యాక్సెస్ చేస్తోంది

    ముగింపు:

    ఈ విధంగా, మీరు ఫైల్‌లోని అన్ని పంక్తులను చదవడానికి ఫైల్‌లోని ప్రతి పంక్తిని ఉపయోగించుకోవచ్చు, ఆపై దానిని ఈ లైన్‌లతో మార్చవచ్చు. మేము ఈ ఆర్టికల్‌లోని రెండు ప్రాథమిక దృష్టాంతాల గురించి మాట్లాడాము, అయితే, మీరు మరింత క్లిష్టమైన సమస్యల కోసం ఈ లూప్‌ను కూడా ఉపయోగించవచ్చు.