సెడ్ ఉదాహరణల కోసం సెటప్
ఉదాహరణ కోసం సెటప్ చేయడానికి ఇక్కడ శీఘ్ర గైడ్ ఉంది, నేను చాలా ఓవర్ కిల్ చేయకుండా ప్రయత్నిస్తాను.
పదాలుఅనేది 1 నుండి 100 వరకు సంఖ్యలను కలిగి ఉన్న టెక్స్ట్ ఫైల్. దీన్ని సృష్టించడానికి మీకు ఆదేశం తెలియకపోతే, బాష్ ఎక్స్పోర్ట్ కమాండ్లో xargs కోసం ఎగుమతి ఫంక్షన్ చూడండి. ఇది మీ తదుపరి షెల్ స్క్రిప్టింగ్ ఇంటర్వ్యూలో ఉంటుందని మీకు ఎప్పటికీ తెలియదు.
బార్అనేది ఒకే లైన్ ఉన్న టెక్స్ట్ ఫైల్ -.
పాత- phpఅనేది పాత PHP యొక్క పంక్తులను కలిగి ఉన్న టెక్స్ట్ ఫైల్, ఇది php7 లేదా తరువాత విచ్ఛిన్నమవుతుంది. (సూచన: ereg)
సెటప్ కోసం ఫంక్షన్లపై ఎండ్నోట్లో పైన వివరించిన అన్ని ఫంక్షన్లు క్రింద కనిపిస్తాయని గమనించండి.
సమానమైన ఆదేశాలతో సెడ్ ఉదాహరణలు
కమాండ్ లైన్ వాతావరణంలో, ఇచ్చిన పనికి ఒకటి కంటే ఎక్కువ పరిష్కారాలు ఉన్నాయని మీరు కనుగొంటారు. అయితే, చాలా వరకు, మీరు కనీసం నిరోధకతను అందించే మార్గంలో వెళ్లాలనుకుంటున్నారు. సంబంధిత సమానమైన ఆదేశాలతో ఉన్న సెడ్ కమాండ్ల ఉదాహరణల జాబితా ఇక్కడ ఉంది, ఇక్కడ కొన్ని దిగువ వివరంగా కవర్ చేయబడతాయి.
1. యాదృచ్ఛిక పంక్తిని ముద్రించండి (క్రమానికి సమానం -R -| తల -1)
సెడ్ -n '$ ((రాండమ్ % 100)) p '-2. ఫైల్లో చివరి పంక్తిని ముద్రించండి (తల -1 -) కు సమానం
సెడ్ -n '$ p'-3. ఒక ఫైల్లో మొదటి 10 పంక్తులను ముద్రించండి (తల -n 10 -) కు సమానం
సెడ్ '10 క్యూ'-4. ఫైల్లో మొదటి పంక్తిని ముద్రించండి (తోక -1 -) కు సమానం
సెడ్ -n '1 పి'-5. అక్షరం యొక్క అన్ని సందర్భాలను తొలగించండి (tr కు సమానమైనది -‘0’ ని తొలగించండి -, ఇక్కడ మనం అక్షరాలను తొలగించాలనుకుంటున్నాము)
సెడ్ -మరియు 's / 0 // గ్రా'-6. csv ఫైల్ని tsv కి మార్చండి (tr ‘,’ ‘ t’ -కు సమానం)
సెడ్ -మరియు 's/,/ t/g'-7. ఫైల్కు జోడించండి (క్యాట్ బార్కు సమానం -)
సెడ్ '$ a ---'-8. ఫైల్కి పంక్తిని అంచనా వేయండి (పిల్లి - బార్కు సమానం)
సెడ్ '1i ---'-9. ఫైల్లోని అన్ని పంక్తులను ముద్రించండి (పిల్లికి సమానం -)
సెడ్ -n -మరియు 'p'-10. నమూనాకు సరిపోయే పంక్తులను ముద్రించండి (grep -e ‘^1’ -కు సమానం -)
సెడ్ -n -మరియు '/^1/ p'-11. నమూనాకు సరిపోయే పంక్తులను తొలగించండి (grep -v -e ‘^1’ -) కు సమానం
సెడ్ -మరియు '/^1/ d'-12. ఫైల్లోని పంక్తుల సంఖ్యను పొందండి (wc -l -కు సమానం)
సెడ్ -n -మరియు '$ ='-13. నేపథ్యంలో ఉన్న ఫైల్కు వ్రాయండి (సమానమైన కమాండ్ టీ)
సెడ్ 'లో$ {1}'-టీ కమాండ్ అమలు చేయడానికి సెడ్ ఉపయోగించి ఉదాహరణ
సరిగ్గా పైన, బ్యాక్గ్రౌండ్లోని ఫైల్కు వ్రాయండి అని లేబుల్ చేయబడిన ఉదాహరణ ఉంది. టీ ఆదేశం లాంటి ధ్వనులు. బాగా, అది. సెడ్ ఉపయోగించి టీని బాష్లో భర్తీ చేయడానికి ఫంక్షన్ను ఎలా అమలు చేయాలో ఇక్కడ మేము విస్తరిస్తాము.
ఆదేశాలు
టీ (){
పరీక్ష $ {#} -ఎక్యూ 1 || తిరిగి;
సెడ్ 'లో$ {1}'-
}
ప్రధాన()
టీఈ;
పిల్లిఈ
ప్రధాన
అవుట్పుట్
12
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
ఇక్కడ మీరు 1 నుండి 10 వరకు ఉన్న పూర్ణాంకాల యొక్క రెండు జాబితాలను చూస్తారు. మొదటిది seq కమాండ్ నుండి. రెండవది టీలో వ్రాసిన ఫైల్ యొక్క పిల్లి నుండి మనం పొందుతాము. ఇది హాస్యాస్పదంగా ఉందని నాకు తెలుసు కానీ అది పనిచేస్తుంది!
ఒక ఫైల్లో యాదృచ్ఛిక పంక్తిని ముద్రించడానికి సెడ్ని ఉపయోగించే ఉదాహరణ
మేము బాష్ మరియు కొంచెం సెడ్ ఉపయోగించి ఫైల్లో యాదృచ్ఛిక పంక్తిని ముద్రించాలనుకుంటున్నాము. మనం చేయగలమా? అవును మనం చేయగలం! ఇక్కడ ఎలా ఉంది.
ఒక ఫంక్షన్ అమలు చేయండి
- ఒక ఫైల్లోని పంక్తుల సంఖ్యను పొందుతుంది, L
- 1 మరియు L, R మధ్య యాదృచ్ఛిక సంఖ్యను రూపొందిస్తుంది
- ప్రింట్స్ ఆర్
ఫంక్షన్ బయటి నుండి ఇన్పుట్ పైప్ చేయబడాలని ఆశిస్తుంది.
ఆదేశాలు
కొన్ని లైన్(){
ఫంక్షన్lc()
{
సెడ్ -n -మరియు '$ ='-
};
ఫంక్షన్ప్రింట్ లైన్()
{
సెడ్ -n -మరియు '$ {1}p '-
};
తాత్కాలిక= $( mktemp );
పిల్లి-> $ {temp};
పిల్లి $ {temp} |ప్రింట్-లైన్ $((యాదృచ్ఛిక%$( పిల్లి $ {temp} |lc)+1 ));
rm $ {temp}
}
ఉదాహరణ వినియోగం (1)
సీక్యూ 100 |_అవుట్పుట్ (1)
35ఉదాహరణ వినియోగం (2)
కర్ల్స్ https://linuxhint.com/బాష్_కట్_కమాండ్/ -నిశ్శబ్దం |స్ట్రిప్-ట్యాగ్లు|కొన్ని లైన్HTML ట్యాగ్లను తీసివేయడానికి సెడ్ ఉపయోగించి దిగువ ఉదాహరణను చూడండి. పైగా ఉదాహరణ కొన్నిసార్లు ఖాళీ లైన్ల కోసం ఖాళీగా తిరిగి వస్తుందని గమనించండి. ఒక వ్యాయామంగా, దాన్ని మెరుగుపరచవచ్చు.
ఫైల్లోని పంక్తులను ముద్రించడానికి సెడ్ని ఉపయోగించడం
ఫైల్లో ఇచ్చిన లైన్ను ప్రింట్ చేయడానికి మీరు బాష్లో ఫంక్షన్ను అమలు చేయాలనుకుంటున్నారని అనుకుందాం. బాష్, హెడ్, టెయిల్ లేదా అవ్క్ లూప్ని ఉపయోగించి ఫైల్లో సింగిల్ లైన్ ప్రింట్ చేయడానికి ప్రయత్నించడం అనేది ఫైల్లోని లైన్లను ప్రింట్ చేయడానికి చాలా ఎక్కువ పని. మంచి విషయం ఏమిటంటే మాకు సెడ్ ఉంది. సెడ్ ఉపయోగించి ఫలిత ఫంక్షన్ క్రింది విధంగా ఉంటుంది.
ఆదేశాలు
ప్రింట్ లైన్(){
సెడ్ -n '$ {1}p '-
}
పదాలపై ప్రింట్-లైన్ ఉపయోగించినప్పుడు ఏమి జరుగుతుందో ఇప్పుడు చూద్దాం.
ఆదేశాలు
పదాలు|ప్రింట్ లైన్యాభైఅవుట్పుట్
యాభైసరే. చూడ్డానికి బాగానే ఉంది కానీ కొంచెం తక్కువ పనికిమాలినదాన్ని చూద్దాం.
ఆదేశాలు
ప్రకటించండి -xfపదాలుప్రకటించండి -xfప్రింట్ లైన్
సీక్యూ 1 10$(పదాలు| wc -ది ) | xargs-ఐబాష్ -సి 'పదాలు | ప్రింట్ లైన్ {} '
అవుట్పుట్
1పదకొండు
ఇరవై ఒకటి
31
41
51
61
71
81
91
సరే. ఇప్పుడు అది మరింత ఇష్టం! ఒక ఫైల్లోని ఏదైనా పంక్తిని ముద్రించడానికి బాష్ స్క్రిప్ట్లో సెడ్ ఎలా ఉపయోగించబడుతుందో మీరు చూస్తారు.
సమానమైన ఆదేశాలు లేకుండా సెడ్ ఉదాహరణలు
కమాండ్-లైన్ వాతావరణంలో, కొన్నిసార్లు తక్కువ నిరోధకతను అందించే పరిష్కారానికి మార్గం సెడ్ వే; లేకపోతే, మీరు మొదట అవసరమైన దానికంటే ఎక్కువ పని చేస్తారు. కొన్ని ఆదేశాలు క్రింద ఫీచర్ చేయబడవచ్చు.
షెల్ స్క్రిప్ట్లో అన్ని పంక్తులను ఆదేశించండి
సెడ్ -మరియు 's/^/#/'-మొదటి పంక్తిని తొలగించండి
సెడ్ -మరియు '1 డి'-
తొలగించుచివరిలైన్
సెడ్ -మరియు '$ d'-
నమూనాకు సరిపోయే పంక్తుల ముందు ఒక లైన్ చొప్పించండి
సెడ్ '/0 $/i ---'-
నమూనాకు సరిపోయే పంక్తుల తర్వాత ఒక పంక్తిని చొప్పించండి
సెడ్ ' / 0 $ / ---'-
Html ట్యాగ్లను తీసివేయండి
సెడ్ -మరియు 's /†*.// g'-
Ereg ని అప్గ్రేడ్ చేయండిలోఅమలు చేయడానికి పాత php కోడ్లోphp7 లేదా తరువాత
సెడ్ 's/ereg ( ([^,]*). ([^]]*) ./ strpos ( 2, 1)/g'
తనిఖీఉంటే సెడ్ఒక నిర్దిష్ట వెర్షన్ కంటే ముందుగానే ఉంటుంది
సెడ్ -మరియు 'v 4.5'-
ఉదాహరణ సెడ్ వెర్షన్ బాష్లో బ్రాంచింగ్
ఉదాహరణలలో పైన, సెడ్ -వెర్షన్ అవుట్పుట్ నుండి వెర్షన్ నంబర్లను సరిపోల్చడానికి ఒక ఫంక్షన్ను అమలు చేయడానికి ప్రయత్నించడం కంటే సులభమైన పని అని నేను నమ్ముతున్న, బాష్లో వెర్షన్ బ్రాంచింగ్ను అమలు చేయడానికి మనం ఉపయోగించే ఒక నిర్దిష్ట వెర్షన్ కంటే ముందు సెడ్ ఉందో లేదో తనిఖీ చేయడానికి ఒక లైన్ ఉంది. . V కమాండ్కు మద్దతు ఇవ్వని సెడ్ యొక్క మునుపటి వెర్షన్ ఉంటే, మేము ఇబ్బందుల్లో ఉన్నాము.
ఆదేశాలు
పరీక్ష-సెడ్-వెర్షన్-ఎట్-మోస్ట్() {బయటకు విసిరారు -n | సెడ్ 'v$ {1}'-2> /దేవ్/శూన్య
}
ప్రయత్నించండి వెర్షన్()
{
బయటకు విసిరారు -n 'సంస్కరణ: Telugu$ {1}. సరే. దీన్ని చేయండి ';
పరీక్ష-సెడ్-వెర్షన్-ఎట్-మోస్ట్$ {1} && {
బయటకు విసిరారు -n 'పాత';
నిజం
} || {
బయటకు విసిరారు -n 'కొత్త'
};
బయటకు విసిరారు 'మార్గం.'
}
ప్రధాన()
{
స్థానికv;
కోసంvలో 4.{4,5};
చేయండి
ప్రయత్నించండి వెర్షన్$ {v};
పూర్తి
}
ప్రధాన
అవుట్పుట్
సంస్కరణ: Telugu4.4. సరే. పాత పద్ధతిలో చేయండి.సంస్కరణ: Telugu4.5. సరే. కొత్త మార్గంలో చేయండి.
ఈ అక్షరాలను టైప్ చేస్తున్నప్పుడు నా మెషీన్లో నడుస్తున్న సెడ్ వెర్షన్ 4.4 అని గమనించండి, ఇది పై అవుట్పుట్ను వివరిస్తుంది. అలాగే, అదే సమయంలో, gnu సెడ్ యొక్క తాజా వెర్షన్ 4.7, నా దగ్గర ఉన్నదానికంటే దాదాపు 3 సంవత్సరాలు పెద్దది. నా సెడ్ పాతది! వాస్తవానికి, సెడ్ 4.0.6 లో, వెర్షన్ కమాండ్కి ఒక పారామీటర్ జోడించబడింది, కాబట్టి ఈ వ్యూహం కనీసం v4.0.6 కి పనిచేస్తుంది, ఇది వెర్షన్ 2003 ప్రారంభంలో విడుదలైంది.
నేను కొన్ని అదనపు త్రవ్వకాలు చేసాను, వాస్తవానికి తాజా సోర్స్ కోడ్ నుండి NEWS చదవడం. వెర్షన్ 4.6 కొత్త ఫీచర్ని కలిగి ఉంది, -డిబగ్ ఇది స్క్రిప్ట్ను డంప్ చేస్తుంది మరియు అవుట్పుట్ లైన్లను ఉల్లేఖిస్తుంది. ఇది బాష్లో ఫంక్షన్ల ద్వారా ఉత్పత్తి చేయబడిన సెడ్ స్క్రిప్ట్లను కానానికల్ రూపంలో అనువదించడానికి మిమ్మల్ని అనుమతిస్తుంది. బాగుంది! మీకు బాష్లో సెడ్ వెర్షన్ బ్రాంచింగ్ అవసరమని మర్చిపోవద్దు. అక్కడే ఈ సెడ్ ఉదాహరణ అమలులోకి వస్తుంది.
HTML ట్యాగ్లను తొలగించడానికి సెడ్ ఉపయోగించి ఉదాహరణ బాష్ ఫంక్షన్
పై ఉదాహరణలలో HTML ట్యాగ్లను తీసివేయడానికి ఒక లైన్ ఉంది. దానిని బాష్ ఫంక్షన్లోకి విసిరేయండి మరియు నేను రాసిన చివరి వ్యాసం నుండి అన్ని HTML ట్యాగ్లను తీసివేయడానికి దాన్ని ఉపయోగించండి.
ఆదేశాలు
స్ట్రిప్-ట్యాగ్లు(){
సెడ్ -మరియు 's /†*.// g'-
}
కర్ల్స్ https://linuxhint.com/బాష్_కట్_కమాండ్/ -నిశ్శబ్దం |స్ట్రిప్-ట్యాగ్లు
ఇది ఖచ్చితమైనది అని నేను చెప్పలేను కానీ కనీసం దానిని టెర్మినల్లో చదవవచ్చు.
వర్క్ఫ్లోలతో సెడ్ ఉదాహరణలు: ఉదాహరణ వర్క్ఫ్లో: ఫైండ్, గ్రేప్ మరియు సెడ్ ఉపయోగించి అన్నింటినీ సురక్షితంగా భర్తీ చేయండి
-I ఆప్షన్తో సెడ్ ఉపయోగించి చేసిన మార్పులు తిరిగి పొందలేనివి అని చెప్పడం సురక్షితం. ఏ టెక్స్ట్ భర్తీ చేయాలో మీకు పూర్తిగా తెలియకపోతే, మీరు అనుకున్నదానికంటే తక్కువ అక్షరంతో ముగుస్తుంది. అందుకే ఈ ఉదాహరణలో, మీరు ఎంచుకున్న అన్ని ఫైల్లలోని వచనాన్ని సురక్షితంగా భర్తీ చేయడానికి వర్క్ఫ్లో సెడ్ను ఉపయోగిస్తాము.
వర్క్ఫ్లో
- కనుగొనండి
- పట్టు
- సెడ్
కనుగొనండి
ఇక్కడ మీరు భర్తీకి లోబడి ఉండే ఫైల్లను ఎంచుకుంటారు. ఈ పంక్తులలో ఒక ఆదేశాన్ని ఉపయోగించమని నేను సూచిస్తున్నాను:
కనుగొనండి -రకంf-పేరు | పట్టు -v-మరియు| xargs-నేను ...ఉదాహరణకు, మీరు కింది విధంగా git రిపోజిటరీ డైరెక్టరీలను మినహాయించి PHP ఫైల్లను భర్తీ చేయడానికి ఫైల్లను పరిమితం చేయాలనుకోవచ్చు.
కనుగొనండి -రకంf-పేరు*.php| పట్టు -v -మరియు '.వెళ్ళండి' | xargs -ఐ...బాష్లోని xargs కమాండ్పై మరింత చదవండి.
పట్టు
తరువాత, మేము ఈ క్రింది విధంగా ఎంచుకున్న ఫైల్లలో సమ్_ప్యాటర్న్ని ప్రయత్నించండి మరియు సరిపోల్చబోతున్నాం. మేము grep కోసం -o ఎంపికను ఉపయోగిస్తున్నందున, అవుట్పుట్ ఏదైనా సరిపోలిన స్ట్రింగ్ను మాత్రమే చూపుతుందని గమనించండి.
కనుగొనండి -రకంf-పేరు*.php| పట్టు -v -మరియు '.వెళ్ళండి' |xargs -ఐ పట్టు -మరియుకొన్ని_ నమూనా-లేదా
పై ఆదేశం కొన్ని_ప్యాటర్న్కు సరిపోయే స్ట్రింగ్ జాబితాను అందించాలి.
సెడ్
చివరగా, మేము కొన్ని_ప్యాటర్న్తో సరిపోయే అన్ని స్ట్రింగ్లను భర్తీ చేయాలనుకుంటున్నాము. అలా చేయడానికి మనం ఈ క్రింది విధంగా grep ని సెడ్గా మార్చాలి.
కనుగొనండి -రకంf-పేరు*.php| పట్టు -v -మరియు '.వెళ్ళండి' |xargs -ఐ సెడ్ -ఐ -మరియులు/కొన్ని_ నమూనా/భర్తీ/g
Grep కమాండ్ sed -i అవుతుంది మరియు -o ఎంపిక తీసివేయబడుతుంది. మరియు అక్కడ మీరు దానిని కలిగి ఉన్నారు.
మీ అదృష్టాన్ని పరీక్షించడానికి బదులుగా సెడ్లో ఏ స్ట్రింగ్లను భర్తీ చేయబోతున్నారో ఇప్పుడు మీరు తనిఖీ చేయవచ్చు.
ఉదాహరణలలో ఉపయోగించిన ఎంపికలపై ముగింపు గమనికలు
క్లుప్తంగా చర్చించిన సెడ్ ఉదాహరణలలో ఉపయోగించిన ఎంపికల జాబితా ఇక్కడ ఉంది.
ఎంపిక | వివరణ |
-ఐ | స్థానంలో సవరించండి. ఇన్పుట్ ఫైల్ అయితే (పైప్ చేయబడలేదు) వ్యక్తీకరణల ఫలితం ఫైల్లోని విషయాలను భర్తీ చేస్తుంది. సెడ్ ఒకదాన్ని అంగీకరిస్తుంది ఉదా) sed -n ... |
-మరియు | -ఇ వ్యక్తీకరణకు నిలుస్తుంది. దాని పరామితి సెడ్ భాషలో వ్యక్తీకరణ. సెడ్ చాలా మందిని అంగీకరిస్తుంది ఉదా) sed -e'expr1 '-e'expr2'
|
-n | వ్యక్తీకరణ ద్వారా ప్రభావితం కాని లైన్ను దాచిపెడుతుంది. అంటే వ్యక్తీకరణ సెడ్ లాంగ్వేజ్లో ప్రింట్ స్టేట్మెంట్ అయితే, ప్రింట్ స్టేట్మెంట్లో చేర్చని పంక్తులు అవుట్పుట్లో చేర్చబడవు. ఉదా) sed -n ...
|
అందుబాటులో ఉన్న సెడ్ ఎంపికల గురించి మరింత తెలుసుకోవడానికి, సెడ్ –హెల్ప్ చూడండి
ఉదాహరణలలో ఉపయోగించే సమానమైన ఆదేశాలపై ముగింపు గమనికలు
కింది కమాండ్-లైన్ యుటిలిటీలు సమానమైన ఆదేశాలతో సెడ్ ఉదాహరణలలో చేర్చబడ్డాయి.
- క్రమబద్ధీకరించు
- తల
- తోక
- పట్టు
- పిల్లి
- NS
- టీ
వెనుకంజలో ముగింపు గమనిక - ఉదాహరణకు సమానమైన ఆదేశాలు
ఒకవేళ ఏమి జరుగుతుందో మీరు ఆశ్చర్యపోతున్నట్లయితే - ఉదాహరణలోని పాత్ర, ఈ గమనిక మీ కోసం. పైపు ద్వారా ఇన్పుట్ అందుతుందని మేము ఆశిస్తున్నామని సూచించడానికి ఉదాహరణలలో చాలా ఆదేశాల తర్వాత నేను ఒక అక్షరాన్ని జోడించాను. అంటే,
పిల్లికొంత-ఫైల్| క్రమబద్ధీకరించు -ఆర్-| తల -1అయితే, ఎడమ చేతిలో పైప్ ఉన్నప్పుడు, మేము ఈ క్రింది విధంగా సూచనను వదిలివేయవచ్చు.
పిల్లికొంత-ఫైల్| క్రమబద్ధీకరించు -ఆర్ | తల -1ఉదాహరణలలో ఆదేశాల తర్వాత - అక్షరంతో అదే జరుగుతోంది.
సెటప్ కోసం ఫంక్షన్లపై ఎండ్ నోట్స్
ఒకవేళ మీరు చూస్తున్నట్లయితే, పై ఉదాహరణల కోసం సెటప్ కోసం ఇక్కడ విధులు ఉన్నాయి. డిక్లేర్ -ఎఫ్ ఉపయోగించి పొందిన అవుట్పుట్. మరిన్ని ఉపయోగాల కోసం బాష్లో డిక్లేర్ కమాండ్పై మరింత చదవండి.
ఆదేశాలు
పదాలు(){
సీక్యూ 100
}
బార్()
{
బయటకు విసిరారు ---
}
పాత- php()
{
బయటకు విసిరారు 'ereg ($ UA,' Bottbot ')'
}
క్రింది గీత
నేను బాష్ సెడ్ ఉదాహరణలు రాయడం ఆనందించాను మరియు దారిలో కొన్ని అదనపు ఉపాయాలు కూడా ఎంచుకున్నాను. Sed ఒక శక్తివంతమైన కమాండ్-లైన్ యుటిలిటీ మరియు టెక్స్ట్ ఫైల్లను మార్చటానికి వ్యక్తీకరణ భాష. మీరు సెడ్ గురించి నేర్చుకోవడాన్ని ఇష్టపడితే, చింతించకండి ఇంకా తాకడానికి ఇంకా చాలా ఉంది. పంపండి.