Kako ekstrahirati osnovno ime datoteke brez poti in pripone v Bashu

Kako Ekstrahirati Osnovno Ime Datoteke Brez Poti In Pripone V Bashu



Ukaz basename se običajno uporablja v Bashu za pridobitev osnovnega imena datoteke ali imenika z dane poti z odstranitvijo vseh vodilnih komponent imenika. Ta članek bo raziskal, kako ekstrahirati osnovno ime datoteke brez njene poti in končnice z uporabo bash.

Ekstrahirajte osnovno ime datoteke brez poti in pripone v Bash

Če želite ekstrahirati osnovno ime datoteke brez njene poti in pripone, lahko uporabimo ukaz osnovno ime v povezavi s funkcijo zamenjave parametrov bash. Ukaz basename vrne zadnjo komponento imena poti, ki bi bilo v našem primeru ime datoteke s končnico. Vendar pa lahko z določitvijo možnosti pripone odstranimo pripono iz imena datoteke, tukaj je primer kode bash:

#!bin/bash
pot do datoteke = / domov / aaliyan / bash3.sh
s =$ ( osnovno ime $filepath )
odmev ' ${s%.*} '

Zgornji skript bash definira spremenljivko, imenovano ' pot do datoteke « in ji dodeli pot do datoteke « /home/aaliyan/bash3.sh “. Skript nato uporabi ukaz basename, da izvleče osnovno ime datoteke iz poti datoteke in rezultat dodeli spremenljivki, imenovani 's'.







Druga razširitev parametra odstrani pripono iz imena datoteke tako, da odstrani najkrajše možno ujemanje poljubnega števila znakov, ki mu sledi pika z uporabo »%.*«. Nastali niz, »bash3«, se nato natisne na konzolo z ukazom echo:





Drug način za ekstrahiranje osnovnega imena datoteke brez njene poti datoteke in pripone je z uporabo razširitve parametra, ki je brez uporabe ukaza osnovno ime, spodaj je primer kode bash, ki uporablja metodo razširitve parametra za pridobitev osnovnega imena datoteke brez datoteke pot in končnica datoteke:





#!bin/bash
pot do datoteke = / domov / aaliyan / bash3.sh
s = ${filepath##*/}
odmev ' ${s%.*} '

To je bash skript, ki definira spremenljivko, imenovano 'filepath', in ji dodeli vrednost ' /home/aaliyan/bash3.sh “. Skript nato dvakrat uporabi funkcijo razširitve parametrov bash, da izvleče osnovno ime datoteke brez njene poti in končnice. Natančneje, prva razširitev parametra odstrani pot iz imena datoteke tako, da odstrani najdaljše možno ujemanje poljubnega števila znakov, ki mu sledi poševnica z uporabo »##/«.

Nastali niz, ' bash3.sh ” se nato dodeli spremenljivki, imenovani “s”. Druga razširitev parametra odstrani pripono iz imena datoteke tako, da odstrani najkrajše možno ujemanje poljubnega števila znakov, ki mu sledi pika z uporabo »%.«. Nastali niz, »bash3«, se nato natisne na konzolo z ukazom echo:



Zaključek

Ekstrahiranje osnovnega imena datoteke brez njene poti in končnice je pogosta naloga pri skriptiranju bash. Z uporabo ukaza basename v kombinaciji s funkcijami zamenjave parametrov in razširitve parametrov bash lahko zlahka dosežemo to nalogo. To je lahko koristno pri delu z imeni datotek v skriptih, na primer pri preimenovanju datotek ali izvajanju operacij na datotekah s podobnimi imeni.