బాష్ అనేది Linux మరియు Unix ఆపరేటింగ్ సిస్టమ్లలో సాధారణంగా ఉపయోగించే శక్తివంతమైన కమాండ్-లైన్ షెల్. బాష్లోని ఫైల్లతో పని చేస్తున్నప్పుడు ఒక సాధారణ పని ఫైల్ పేరు మరియు పొడిగింపును ఫైల్ మార్గం నుండి సంగ్రహించడం. ఈ కథనం Bashలో ఫైల్ పేరు మరియు పొడిగింపును ఎలా సంగ్రహించాలో చర్చిస్తుంది మరియు మీ స్క్రిప్ట్లలో ఈ విలువలను ఎలా ఉపయోగించాలో ఉదాహరణలను అందిస్తుంది.
బాష్లో ఫైల్ పేరు మరియు పొడిగింపును సంగ్రహించడం
బాష్లో ఫైల్ పేరు మరియు పొడిగింపును సంగ్రహించడానికి అనేక మార్గాలు ఉన్నాయి, ఇక్కడ మూడు సాధారణ పద్ధతులు ఉన్నాయి:
- బేస్నేమ్ కమాండ్ని ఉపయోగించడం
- పారామీటర్ విస్తరణను ఉపయోగించడం
- IFS (ఇంటర్నల్ ఫీల్డ్ సెపరేటర్) వేరియబుల్ ఉపయోగించడం
1: బేస్నేమ్ కమాండ్ని ఉపయోగించడం
ది బేస్ పేరు కమాండ్ ఫైల్ పాత్ నుండి ఫైల్ పేరును అందిస్తుంది మరియు ఫైల్ పేరు మరియు పొడిగింపును సంగ్రహిస్తుంది. మీరు ఉపయోగించవచ్చు బేస్ పేరు తో ఆదేశం -ప్రత్యయం ఎంపిక, ఇది క్రింద ఇవ్వబడిన కోడ్లో వలె ఫైల్ పేరు నుండి పేర్కొన్న ప్రత్యయాన్ని తొలగిస్తుంది:
#!/బిన్/బాష్
# ఉదాహరణ ఫైల్ మార్గం
ఫైల్_పాత్ = '/path/to/file.txt'
# ఫైల్ పేరును సంగ్రహించండి
ఫైల్ పేరు =$ ( బేస్ పేరు $file_path )
# ఎక్స్ట్రాక్ట్ ఎక్స్టెన్షన్
పొడిగింపు = ' ${ఫైల్ పేరు##*.} '
ప్రతిధ్వని 'ఫైల్ పేరు: $ ఫైల్ పేరు '
ప్రతిధ్వని 'పొడిగింపు: $ పొడిగింపు '
2: పారామీటర్ విస్తరణను ఉపయోగించడం
ది పారామితి విస్తరణ వాక్యనిర్మాణం అనేది బాష్ యొక్క శక్తివంతమైన లక్షణం, ఇది స్ట్రింగ్లను మార్చటానికి మిమ్మల్ని అనుమతిస్తుంది. పరామితి విస్తరణను ఉపయోగించి ఫైల్ పేరు మరియు పొడిగింపును సంగ్రహించడానికి, మీరు ఉపయోగించవచ్చు ${పరామితి##పదం} వాక్యనిర్మాణం, ఇది దిగువ కోడ్లో ఉన్నట్లుగా పరామితి ప్రారంభం నుండి పేర్కొన్న నమూనా యొక్క పొడవైన సరిపోలికను తొలగిస్తుంది:
#!/బిన్/బాష్# ఉదాహరణ ఫైల్ మార్గం
ఫైల్_పాత్ = '/path/to/file.txt'
# ఫైల్ పేరును సంగ్రహించండి
ఫైల్ పేరు = ' ${file_path##*/} '
# ఎక్స్ట్రాక్ట్ ఎక్స్టెన్షన్
పొడిగింపు = ' ${ఫైల్ పేరు##*.} '
ప్రతిధ్వని 'ఫైల్ పేరు: $ ఫైల్ పేరు '
ప్రతిధ్వని 'పొడిగింపు: $ పొడిగింపు '
3: IFS (ఇంటర్నల్ ఫీల్డ్ సెపరేటర్) వేరియబుల్ ఉపయోగించడం
ది IFS వేరియబుల్ సెట్ చేయడం ద్వారా తీగలను ఫీల్డ్లుగా విభజించడానికి బాష్ ద్వారా ఉపయోగించబడుతుంది IFS వేరియబుల్ పాత్ సెపరేటర్కి ('/'). మీరు క్రింద ఇచ్చిన కోడ్ని ఉపయోగించి ఈ వేరియబుల్ ద్వారా ఫైల్ పాత్ నుండి ఫైల్ పేరు మరియు పొడిగింపును సంగ్రహించవచ్చు:
#!/బిన్/బాష్# ఉదాహరణ ఫైల్ మార్గం
ఫైల్_పాత్ = '/path/to/file.txt'
# IFSని '/'కి సెట్ చేయండి
IFS = '/' చదవండి -ఆర్ -ఎ భాగాలు <<< ' $file_path '
# ఫైల్ పేరును సంగ్రహించండి
ఫైల్ పేరు = ' ${భాగాలు[-1]} '
# ఎక్స్ట్రాక్ట్ ఎక్స్టెన్షన్
పొడిగింపు = ' ${ఫైల్ పేరు##*.} '
ప్రతిధ్వని 'ఫైల్ పేరు: $ ఫైల్ పేరు '
ప్రతిధ్వని 'పొడిగింపు: $ పొడిగింపు '
ముగింపు
బాష్లోని ఫైల్లతో పని చేస్తున్నప్పుడు ఫైల్ మార్గం నుండి ఫైల్ పేరు మరియు పొడిగింపును సంగ్రహించడం ఒక సాధారణ పని. ఈ వ్యాసం బాష్లో ఫైల్ పేరు మరియు పొడిగింపును సంగ్రహించడానికి మూడు సాధారణ పద్ధతులను చర్చించింది. ఉపయోగించడం ద్వారా బేస్ పేరు ఆదేశం, ది పారామితి విస్తరణ వాక్యనిర్మాణం, లేదా IFS వేరియబుల్ , మీరు ఫైల్ మార్గం నుండి ఫైల్ పేరు మరియు పొడిగింపు విలువలను త్వరగా మరియు సులభంగా సంగ్రహించవచ్చు.