ఈ గైడ్లో, సెడ్ని ఉపయోగించి స్పేస్తో న్యూలైన్లను భర్తీ చేయడాన్ని మేము ప్రదర్శిస్తాము.
వచనాన్ని భర్తీ చేయడానికి సెడ్ని ఉపయోగించడం
ముందుగా, ప్రాథమిక అన్వేషణ మరియు సెడ్ని ఉపయోగించి భర్తీ చేయడం గురించి త్వరగా చూద్దాం. కొత్త లైన్లను కొన్ని అదనపు ఎంపికలతో ఖాళీలతో భర్తీ చేసేటప్పుడు అదే పద్ధతి ఉపయోగించబడుతుంది. కమాండ్ నిర్మాణం క్రింది విధంగా ఉంది:
$ sed -e 's///'
కింది ఆదేశాన్ని చూడండి:
$ ప్రతిధ్వని 'ది త్వరిత గోధుమ నక్క' | sed -e 's/quick/fast/g'
ఎకో కమాండ్ స్ట్రింగ్ను ప్రింట్ చేస్తుంది STDOUT . STDOUT స్ట్రీమ్ అప్పుడు పైపులు వేయబడ్డాయి సెడ్ కు. త్వరిత రీప్లేస్ని ఫాస్ట్తో భర్తీ చేయమని మేము సెడ్కి సూచించాము. చివరగా, అవుట్పుట్ స్క్రీన్పై ముద్రించబడుతుంది.
న్యూలైన్లను స్పేస్తో భర్తీ చేస్తోంది
ప్రదర్శన కోసం, నేను అనేక డమ్మీ కంటెంట్లతో కింది టెక్స్ట్ ఫైల్ test.txtని సృష్టించాను:
$ cat test.txt
sed కమాండ్ వివిధ నమూనాలను వివరించడానికి సాధారణ వ్యక్తీకరణలను అంగీకరిస్తుంది. ఈ లక్షణాన్ని ఉపయోగించడం ద్వారా, మేము కొత్త లైన్ని \nగా వివరించబోతున్నాము. కొత్త లైన్లను వైట్స్పేస్తో భర్తీ చేయడానికి ప్రయత్నిద్దాం:
$ sed -e 's/\n/ /g' test.txt
అయితే, అది ఆశించిన విధంగా పని చేయలేదు. ఈ లక్ష్యాన్ని సాధించడానికి, మాకు కొన్ని అదనపు ఎంపికలు అవసరం. కింది ఆదేశాన్ని చూడండి:
$ sed -e ':a;N;$!ba;s/\n/ /g' test.txt
sed ఆదేశం బహుళ విభాగాలను కలిగి ఉంటుంది; ప్రతి ఒక్కటి నిర్దిష్ట పనిని సూచిస్తుంది:
- :a: 'a' లేబుల్ని సృష్టిస్తుంది
- N: నమూనా స్థలానికి తదుపరి పంక్తిని జోడిస్తుంది
- $!ba: చివరి పంక్తి కాకపోతే, లేబుల్ 'a'కి తిరిగి వస్తుంది
- s/\n/ /g: కొత్త లైన్ (\n)ని స్పేస్ (/ /)తో కనుగొని భర్తీ చేస్తుంది. నమూనా ప్రపంచవ్యాప్తంగా సరిపోలింది (/g)
sed కమాండ్ చివరి పంక్తికి చేరుకునే వరకు దశల ద్వారా లూప్ చేయబడుతుంది, అన్ని \n అక్షరాలను ఖాళీతో భర్తీ చేస్తుంది.
ఈ కాంప్లెక్స్ కమాండ్కు బదులుగా, శూన్య-వేరు చేయబడిన రికార్డులతో పని చేయడానికి sedని పేర్కొనే -z ఫ్లాగ్ని ఉపయోగించడం ద్వారా మనం విషయాలను సులభతరం చేయవచ్చు. కమాండ్ ఇలా కనిపిస్తుంది:
$ sed -z -e 's/\n/ /g' test.txt
ప్రత్యామ్నాయ పద్ధతులు
సెడ్ పనిని చక్కగా చేయగలదు, కొన్ని ప్రత్యామ్నాయ సాధనాలు ఉన్నాయి. ఈ విభాగంలో, మేము వాటిలో కొన్నింటిని క్లుప్తంగా పరిశీలిస్తాము.
కింది ఉదాహరణ కోసం, మేము సాధారణ పద్ధతిలో వైట్స్పేస్తో న్యూలైన్ను భర్తీ చేయడానికి tr ఆదేశాన్ని ఉపయోగించవచ్చు:
$ tr '\n' ' ' < test.txt
మేము ఉద్యోగం చేయడానికి perlని కూడా ఉపయోగించవచ్చు. కింది వాక్యనిర్మాణం కూడా మనం సెడ్తో ఉపయోగించిన (కానీ సరళీకృతం) మాదిరిగానే ఉంటుంది:
$ perl -p -e 's/\n/ /' test.txt
కొత్త లైన్లను వైట్స్పేస్తో భర్తీ చేయడానికి మరొక మార్గం పేస్ట్ ఆదేశాన్ని ఉపయోగించడం. ఇది ఒక అక్షరాన్ని మాత్రమే తీసివేయగలదని గమనించండి:
$ పేస్ట్ -s -d ' ' test.txt
సెడ్ మాదిరిగానే, Linux మరో టూల్ awkతో వస్తుంది. సెడ్ మాదిరిగానే, ఇది ఇన్పుట్లో కొన్ని అధునాతన రీప్లేస్మెంట్లను కూడా చేయగలదు. మా ప్రయోజనం కోసం, కింది awk ఆదేశాన్ని ఉపయోగించండి:
$ awk 1 ORS=' ' test.txt
ముగింపు
ఈ గైడ్ సెడ్ని ఉపయోగించి న్యూలైన్ని స్పేస్తో ఎలా భర్తీ చేయవచ్చో అన్వేషించింది. ఇది రెండు రకాలుగా సాధించబడింది. ఈ గైడ్ న్యూలైన్ని వైట్స్పేస్తో భర్తీ చేయడానికి మేము ఉపయోగించే ఇతర సంబంధిత సాధనాలను కూడా కలిగి ఉంటుంది.
గుర్తుంచుకోవడం కష్టతరమైన సంక్లిష్టమైన ఆదేశాలను ఉపయోగించకుండా, Linuxలో అనేక పనులను నిర్వహించడానికి మేము Bash స్క్రిప్టింగ్ని ఉపయోగిస్తాము. ఇది కొంత పనితీరు ఖర్చుతో వచ్చినప్పటికీ, వశ్యత మరియు వినియోగం విలువైనవి. గురించి మరింత తెలుసుకోవడానికి ప్రారంభకులకు బాష్ స్క్రిప్టింగ్ .