Како издвојити основно име датотеке без путање и екстензије у Басху

Kako Izdvojiti Osnovno Ime Datoteke Bez Putane I Ekstenzije U Bashu



Команда басенаме се обично користи у Басху за преузимање основног имена датотеке или директоријума са дате путање уклањањем свих водећих компоненти директоријума. Овај чланак ће истражити како да издвојите основно име датотеке без њене путање и екстензије користећи басх.

Извуците основно име датотеке без путање и екстензије у Басху

Да бисмо издвојили основно име датотеке без њене путање и екстензије, можемо користити команду басенаме у комбинацији са басх функцијом замене параметара. Команда басенаме враћа последњу компоненту имена путање, што би у нашем случају било име датотеке са екстензијом. Међутим, навођењем опције суфикса, можемо уклонити екстензију из имена датотеке, ево примера басх кода:

#!бин/басх
филепатх = / кућа / аалииан / басх3.сх
с =$ ( основно име $филепат )
одјек ' ${с%.*} '

Горња басх скрипта дефинише променљиву под називом „ филепатх “ и додељује му путању до датотеке “ /хоме/аалииан/басх3.сх “. Скрипта затим користи команду басенаме да издвоји основно име датотеке из путање датотеке и додељује резултат променљивој која се зове „с“.







Друго проширење параметра уклања екстензију из назива датотеке уклањањем најкраћег могућег подударања било ког броја знакова праћених тачком користећи „%.*“. Добијени стринг, „басх3“, се затим штампа на конзоли помоћу команде ецхо:





Други начин за издвајање основног имена датотеке без путање и екстензије датотеке је коришћење проширења параметара без коришћења команде басенаме, испод је пример басх кода који користи метод проширења параметара да би добио основно име датотеке без датотеке путања и екстензија датотеке:





#!бин/басх
филепатх = / кућа / аалииан / басх3.сх
с = ${филепатх##*/}
одјек ' ${с%.*} '

Ово је басх скрипта која дефинише променљиву под називом „филепатх“ и додељује јој вредност „ /хоме/аалииан/басх3.сх “. Скрипта затим два пута користи функцију проширења параметара басх-а да издвоји основно име датотеке без њене путање и екстензије. Конкретно, прво проширење параметра уклања путању из имена датотеке уклањањем најдужег могућег подударања било ког броја знакова праћених косом цртом унапред користећи „##/“.

Добијени низ, “ басх3.сх ” се затим додељује променљивој која се зове „с”. Друго проширење параметара уклања екстензију из имена датотеке уклањањем најкраћег могућег подударања било ког броја знакова праћених тачком користећи „%.“. Добијени стринг, „басх3“, се затим штампа на конзоли помоћу команде ецхо:



Закључак

Екстраховање основног имена датотеке без њене путање и екстензије је уобичајен задатак у басх скриптовању. Коришћењем команде басенаме у комбинацији са басх функцијама замене параметара и проширења параметара, лако можемо постићи овај задатак. Ово може бити корисно када радите са именима датотека у скриптама, на пример, када преименујете датотеке или извршавате операције над датотекама са сличним именима.