Kā izvilkt faila bāzes nosaukumu bez ceļa un paplašinājuma programmā Bash

Ka Izvilkt Faila Bazes Nosaukumu Bez Cela Un Paplasinajuma Programma Bash



Bash komandu parasti izmanto, lai izgūtu faila vai direktorija pamata nosaukumu no noteiktā ceļa, noņemot visus vadošos direktoriju komponentus. Šajā rakstā tiks pētīts, kā, izmantojot bash, iegūt faila pamatnosaukumu bez tā ceļa un paplašinājuma.

Izņemiet faila pamatnosaukumu bez ceļa un paplašinājuma programmā Bash

Lai izvilktu faila bāzes nosaukumu bez tā ceļa un paplašinājuma, mēs varam izmantot komandu basename kopā ar bash parametru aizstāšanas līdzekli. Komanda basename atgriež pēdējo ceļa nosaukuma komponentu, kas mūsu gadījumā būtu faila nosaukums ar tā paplašinājumu. Tomēr, norādot sufiksa opciju, mēs varam noņemt paplašinājumu no faila nosaukuma, šeit ir bash koda piemērs:

#!bin/bash
faila ceļš = / mājas / aaliyan / bash3.sh
s =$ ( pamatnosaukums $faila ceļš )
atbalss ' ${s%.*} '

Iepriekš minētais bash skripts definē mainīgo ar nosaukumu ' faila ceļš ' un piešķir tam faila ceļu ' /home/aaliyan/bash3.sh “. Pēc tam skripts izmanto komandu basename, lai izvilktu faila pamatnosaukumu no faila ceļa un piešķir rezultātu mainīgajam, ko sauc par “s”.







Otrais parametra paplašinājums noņem paplašinājumu no faila nosaukuma, noņemot īsāko iespējamo atbilstību jebkuram rakstzīmju skaitam, kam seko punkts, izmantojot “%.*”. Pēc tam iegūtā virkne “bash3” tiek izdrukāta konsolē, izmantojot echo komandu:





Vēl viens veids, kā iegūt faila pamatnosaukumu bez tā faila ceļa un paplašinājuma, ir izmantot parametru paplašināšanu, neizmantojot komandu basename. Tālāk ir parādīts bash koda piemērs, kas izmanto parametru paplašināšanas metodi, lai iegūtu faila pamatnosaukumu bez faila. ceļš un faila paplašinājums:





#!bin/bash
faila ceļš = / mājas / aaliyan / bash3.sh
s = ${filepath##*/}
atbalss ' ${s%.*} '

Šis ir bash skripts, kas definē mainīgo ar nosaukumu “filepath” un piešķir tam vērtību “ /home/aaliyan/bash3.sh “. Pēc tam skripts divreiz izmanto bash parametru paplašināšanas līdzekli, lai iegūtu faila pamatnosaukumu bez tā ceļa un paplašinājuma. Konkrēti, pirmā parametra paplašināšana noņem ceļu no faila nosaukuma, noņemot pēc iespējas garāko jebkura rakstzīmju skaita atbilstību, kam seko slīpsvītra, izmantojot “##/”.

Iegūtā virkne ' bash3.sh ” pēc tam tiek piešķirts mainīgajam, ko sauc par “s”. Otrais parametra paplašinājums noņem paplašinājumu no faila nosaukuma, noņemot īsāko iespējamo atbilstību jebkuram rakstzīmju skaitam, kam seko punkts, izmantojot “%.”. Pēc tam iegūtā virkne “bash3” tiek izdrukāta konsolē, izmantojot echo komandu:



Secinājums

Faila bāzes nosaukuma izvilkšana bez tā ceļa un paplašinājuma ir bieži sastopams bash skriptēšanas uzdevums. Izmantojot komandu basename kopā ar bash parametru aizstāšanas un parametru paplašināšanas funkcijām, mēs varam viegli sasniegt šo uzdevumu. Tas var būt noderīgi, strādājot ar failu nosaukumiem skriptos, piemēram, pārdēvējot failus vai veicot darbības ar failiem ar līdzīgiem nosaukumiem.