బాష్లో ఫైల్ను చదవడానికి మరియు వ్రాయడానికి అనేక మార్గాలు ఉన్నాయి. సరళమైన మార్గం ఆపరేటర్లను ఉపయోగించడం> మరియు >>.
- > ఆపరేటర్ ఇప్పటికే ఉన్న డేటాను ఓవర్రైట్ చేస్తుంది
- >> ఆపరేటర్ డేటాని జోడిస్తుంది
దారిమార్పు ఆపరేటర్లను ఉపయోగించే సాధారణ ఫార్మాట్:
డేటా> ఫైల్ పేరు
డేటా >> ఫైల్ పేరు
ఒక ఉదాహరణతో ఫైల్ విధానానికి వ్రాయడాన్ని అర్థం చేసుకుందాం:
దారి మళ్లింపు ఆపరేటర్లను ఉపయోగించి ఫైల్ను ఎలా వ్రాయాలి
పైన చర్చించినట్లుగా, ఫైల్కు వ్రాయడానికి సరళమైన మరియు సూటిగా ఉండే విధానం దారి మళ్లింపు ఆపరేటర్లను ఉపయోగిస్తోంది. ఉదాహరణకు, మీరు ఇప్పటికే ఉన్న ఫైల్ యొక్క టెక్స్ట్ని మార్చాలనుకుంటే, ముందుగా పేరు ద్వారా టెక్స్ట్ ఫైల్ని సృష్టించండి testfile.txt మరియు దానిలో ఏదైనా వ్రాయండి:
టెక్స్ట్ ఫైల్ను సేవ్ చేయండి.
టెర్మినల్లో దిగువ పేర్కొన్న ఆదేశాన్ని టైప్ చేయండి:
$ echo ఫైల్> testfile.txt లో ఉన్న టెక్స్ట్ని తిరగరాయడం
ఓవర్ రింగ్ ప్రమాదకరంగా ఉండవచ్చు; అందువల్ల, నోక్లోబర్ను ఎనేబుల్ చేయడం మంచి పద్ధతి. Noclobber ని సెట్ చేయడం వలన ఏదైనా నిష్క్రమించే ఫైల్కి ఏదైనా ఓవర్రైటింగ్ నిరోధించబడుతుంది.
$ set –o noclobber$ echo ఫైల్> testfile.txt లో ఉన్న టెక్స్ట్ని తిరగరాయడం
కానీ మీరు నోక్లోబర్ను దాటవేయాలనుకుంటే, దాన్ని ఉపయోగించండి > బదులుగా ఆపరేటర్ > :
$ echo ఫైల్లో ఇప్పటికే ఉన్న వచనాన్ని తిరిగి వ్రాయడం> | testfile.txtలేదా మీరు కేవలం noclobber ని డిసేబుల్ చేయవచ్చు:
$ సెట్ + లేదా నోక్లోబ్బర్
కానీ ఈ ఆదేశం అన్ని ఫైళ్ల నుండి రక్షణను తీసివేస్తుంది.
పై అవుట్పుట్ ఇప్పటికే ఉన్న టెక్స్ట్ ఓవర్రైట్ చేయబడిందని సూచిస్తుంది. ఇప్పుడు, దీనిని ఉపయోగిద్దాం >> ఆపరేటర్:
$ echo ఇప్పటికే ఉన్న టెక్స్ట్ ఫైల్ >> testfile.txt కి టెక్స్ట్ జోడించబడుతోంది
బయటకు విసిరారు మీరు టెక్స్ట్ని ఉపయోగించి ఫార్మాట్ చేయలేనందున ఎల్లప్పుడూ ఉపయోగించడానికి అనువైనది కాదు, కాబట్టి కింది ఆదేశంలో చూపిన విధంగా టెక్స్ట్ ఫార్మాట్ చేయడానికి ఎకో స్థానంలో printf ఉపయోగించండి:
$ printf స్వాగతం n ఇది కొత్త టెక్స్ట్ ఫైల్. > newtestfile.txt
బాష్ స్క్రిప్ట్ ఉదాహరణతో భావనను అర్థం చేసుకుందాం. టెర్మినల్లో vim అని టైప్ చేయడం ద్వారా Vim ని తెరవండి. మీ పరికరంలో విమ్ ఎడిటర్ లేకపోతే, దీన్ని ఉపయోగించి దీన్ని ఇన్స్టాల్ చేయండి:
$ sudo apt ఇన్స్టాల్ vimస్క్రిప్ట్ టైప్ చేయండి:
#! /బిన్/బాష్ప్రతిధ్వని మీ పేరును నమోదు చేయండి
పేరు చదవండి
ప్రతిధ్వని $ name> data_dir.txt
ప్రతిధ్వని మీ వయస్సును నమోదు చేయండి
చదువు వయస్సు
ప్రతిధ్వని $ వయస్సు >> data_dir.txt
cat data_dir.txt
ది పిల్లి ఆదేశాలను సృష్టించడానికి మరియు సవరించడానికి ఉపయోగిస్తారు. నొక్కిన తర్వాత మోడ్ని మార్చడం ద్వారా పై స్క్రిప్ట్ని విమ్లో సేవ్ చేయండి Esc కీ ఆపై టైప్ చేయండి : myscript.sh లో . టెర్మినల్ని తెరిచి కోడ్ని అమలు చేయండి:
హెరెడాక్ ఉపయోగించి ఫైల్ను ఎలా వ్రాయాలి
మీరు బహుళ పంక్తులు వ్రాయాలనుకుంటే, హెరెడోక్ను ఉపయోగించడం సులభమయిన పద్ధతి. ఇక్కడ పత్రం, హెరెడాక్ అని కూడా పిలువబడుతుంది, ఇది బహుళ ప్రయోజన కోడ్ బ్లాక్. హెరెడోక్ యొక్క వాక్యనిర్మాణం:
కమాండ్<<[-] Delimiter.
టెక్స్ట్/ఆదేశాలు
.
డీలిమిటర్
ఏదైనా స్ట్రింగ్ను డెలిమిటర్ స్థానంలో ఉపయోగించవచ్చు, మరియు - ఫైల్లోని ఏదైనా ట్యాబ్ ఖాళీలను తీసివేయడానికి కూడా ఉపయోగించవచ్చు. ఒక సాధారణ ఉదాహరణను ఉపయోగించి దీనిని అర్థం చేసుకుందాం:
#! /బిన్/బాష్పిల్లి<< TEXTFILE
ఇది టెక్స్ట్ ఫైల్.
ఈ ఫైల్ హెరెడోక్ ఉపయోగించి సృష్టించబడింది.
టెక్స్ట్ఫైల్
పై స్క్రిప్ట్ క్యాట్ కమాండ్ TEXTFILE పేరుతో టెక్స్ట్ ఫైల్ను సృష్టిస్తుంది మరియు ఇప్పుడే సృష్టించిన ఫైల్లో టెక్స్ట్ రాయడం. ఇప్పుడు ఫైల్ పేరు ద్వారా సేవ్ చేయండి myscript.sh . టెర్మినల్ని ప్రారంభించండి మరియు స్క్రిప్ట్ని అమలు చేయండి.
టీ ఆదేశాన్ని ఉపయోగించి ఫైల్ను ఎలా వ్రాయాలి
ఫైల్ని వ్రాయడానికి మరొక పద్ధతి టీ ఆదేశాన్ని ఉపయోగించడం. ఈ ఆదేశాన్ని సూచించే పేరు ఇన్పుట్ తీసుకొని ఒక ఫైల్కు వ్రాస్తుంది మరియు ఏకకాలంలో అవుట్పుట్ను చూపుతుంది. డిఫాల్ట్గా, టీ కమాండ్ ఇప్పటికే ఉన్న డేటాను ఓవర్రైట్ చేస్తుంది.
$ echo ఇది కొంత వచనం | టీ textfile.txt
ఉపయోగాన్ని జోడించడానికి - a:
$ echo ఇది మరొక టెక్స్ట్ | టీ –ఒక టెక్స్ట్ఫైల్.టెక్స్ట్
బహుళ పంక్తులు వ్రాయడానికి, ఉపయోగించండి:
$ echo బహుళ ఫైల్లకు వచనాన్ని జోడించడం | tee textfile1.txt textfile2.txt textfile3.txt
అవి లేనట్లయితే పై ఆదేశం మూడు ఫైళ్లను సృష్టిస్తుంది మరియు వాటిలో ప్రతిదానికి వచనాన్ని వ్రాయండి.
ముగింపు
ఈ గైడ్ ఉదాహరణలతో బాష్లోని ఫైల్కు వ్రాయడానికి బహుళ విధానాలపై దృష్టి పెడుతుంది. బాష్ స్క్రిప్టింగ్లో, ఫైల్ను వ్రాయడానికి బహుళ మార్గాలు ఉన్నాయి, కానీ సరళమైనది మళ్లింపు ఆపరేటర్లు>, >> ఉపయోగిస్తోంది. బహుళ పంక్తులు వ్రాయడానికి, హెరెడోక్ ఉపయోగించవచ్చు మరియు మీరు ఒకే డేటాను బహుళ పంక్తులకు వ్రాయాలనుకుంటే, టీ కమాండ్ చాలా సులభమైనది.