Употреба команде `басенаме` за читање имена датотеке
команда `басенаме` се користи за читање имена датотеке без екстензије из директоријума или путање до датотеке.
Синтакса:
басенамеНАМЕ[СУФИКС]
или
басенамеОПЦИЈА ... ИМЕ ...
Овде НАМЕ може да садржи назив датотеке или назив датотеке са пуном путањом. СУФФИКС је опционалан и садржи део проширења датотеке који корисник жели да уклони. Команда `басенаме` има неке опције које су описане у наставку.
Опције
Име | Опис |
-до | Користи се за прослеђивање више назива датотека са путањом или без путање као аргументе команде. |
-с | Користи се за прослеђивање наставка као суфикса који треба уклонити. |
-Са | Користи се за приказ више назива датотека одвајањем сваке датотеке са нулл. |
-помоћ | Користи се за приказ информација о употреби наредбе `басенаме`. |
–Верзија | Користи се за приказ информација о верзији. |
Пример-1: Коришћење НАМЕ и СУФФИКС
Следећа команда `басенаме` ће дохватити назив датотеке са наставком. СУФФИКС је изостављен из ове команде. Овде је излаз „Продуцт.ткт“ .
$басенаме /кућа/фахмида/код/продуцт.ткт
Ако желите да преузмете назив датотеке без екстензије, морате да наведете екстензију датотеке као СУФФИКС помоћу наредбе `басенаме`. Овде је проширење .ткт. Покрените следећу команду да бисте уклонили проширење из датотеке.
$басенаме /кућа/фахмида/код/продуцт.ткт .ткт
Пример-2: Коришћење опције „-а“ и НАМЕ
Употреба опције '-а' команде `басенаме` приказана је у овом примеру. Овде се две путање датотека прослеђују као аргументи помоћу наредбе `басенаме`. Свако име датотеке са наставком ће се преузети са путање и одштампати новим редом.
$басенаме -до /кућа/фахмида/индек.хтмл/кућа/фахмида/код/емп.ткт
Пример-3: Употреба опције „-з“ и НАМЕ
Опција „-з“ се користи са командом „басенаме“ за штампање више назива датотека са нулл вредношћу уместо новог реда. Следећа команда користи две опције заједно, „-а“ и „-з“. Овде, два назива датотека, индек.хтмл и емп.ткт штампаће се без размака или новог реда.
$басенаме -тхе /кућа/фахмида/индек.хтмл/кућа/фахмида/код/емп.ткт
Пример 4: Коришћење опције „-с“ и НАМЕ
Следећа команда се може користити као алтернатива СУФФИКС -у са `басенаме`. Проширење датотеке мора да прође са опцијом „-сх“ да бисте уклонили екстензију датотеке из датотеке. Следећи пример ће уклонити екстензију „-сх“ из датотеке, „адд.сх“.
$басенаме -с.сх додатак.сх
Пример-5: Уклоните екстензију датотеке без СУФФИКС-а
Ако не знате екстензију датотеке коју желите да уклоните из назива датотеке, онда ће вам овај пример помоћи да решите проблем. Направите датотеку под називом реад_филе.сх са следећим кодом за преузимање назива датотеке било које екстензије. команда `сед` се у овом примеру користи за уклањање било које врсте проширења из имена датотеке. Ако покренете скрипту, излаз ће бити „ просек „Након уклањања проширења“ пи '.
реад_филе.сх
#!/бин/басх# Подесите име датотеке са путањом
назив документа='/хоме/фахмида/цоде/авераге.пи'
# Прочитајте назив датотеке без екстензије помоћу команди 'баснаме' и `сед`
Избацио '$ (басенаме '$ филенаме' | сед 'с/ (.*) ..*/ 1/')'
Покрените скрипту.
$басхреад_филе.сх
Пример-6: Претворите екстензију датотеке из ткт у доцк
Назив датотеке без екстензије мора да претвори датотеку из једне екстензије у другу. Овај пример показује како можете променити екстензију свих текстуалних датотека (.ткт) у датотеке речи (.доцк) помоћу команде `басенаме` у басх скрипти. Направите датотеку под именом, цонверт_филе.сх са следећим кодом. Овде се фор-ин петља користи за читање свих текстуалних датотека помоћу .ткт проширење из тренутног директоријума. Назив датотеке без екстензије се чита наредбом `басенаме` и преименује додавањем .доцк екстензије у свакој итерацији петље.
цонверт_филе.сх
#!/бин/басх# петља ће читати сваку текстуалну датотеку из тренутног директоријума
заназив документау ``лс *.ткт``
урадити
# Одштампајте назив текстуалне датотеке пре конверзије
Избацио 'Назив датотеке пре конверзије:$ назив датотеке'
# Промените екстензију датотеке ткт у доцк
мв - '$ назив датотеке' '$ (басенаме - '$ филенаме' .ткт).доцк '
Готово
Покрените скрипту.
$басхцонверт_филе.схПомоћу команде `лс` проверите да ли су текстуалне датотеке конвертоване или не.
$лс
Пример-7: Прочитајте име датотеке без екстензије помоћу проширења параметра Схелл
Проширење параметра љуске је још један начин читања имена датотеке без екстензије у басх -у. Овај пример приказује употребу проширења параметара љуске. Следећа команда ће сачувати име путање датотеке у променљивој, $ назив документа .
$назив документа='/вар/уср/темп/мифиле.тар.гз'Следећа команда ће уклонити све типове проширења са путање и сачувати путању датотеке без наставка у променљивој, $ филе1 .
$филе1='$ {име датотеке %%.*}'Следећа команда ће одштампати име датотеке само са путање. Овде ће излаз бити „ мифиле '.
$Избацио '$ {филе1 ##*/}'Ако назив датотеке садржи два наставка са две тачке (.) И желите да прочитате назив датотеке уклањањем последњег наставка датотеке, морате користити следећу команду. Покрените следећу команду која складишти путању датотеке у променљиву, $ филе2 уклањањем последњег наставка датотеке.
$филе2='$ {име датотеке%.*}'Сада покрените следећу команду да бисте одштампали назив датотеке са екстензијом са једном тачком (.). Овде ће излаз бити мифиле.тар.
$Избацио '$ {филе2 ## * /}'
Закључак
Назив датотеке без проширења потребан је у различите сврхе. Неке употребе имена датотеке без проширења објашњене су у овом водичу помоћу неких примера, попут конверзије датотека. Овај водич ће помоћи оним корисницима који су заинтересовани да науче начине одвајања назива датотеке и њеног наставка од путање до датотеке. Овде су објашњена два начина. Корисник може следити било који од ових начина да извуче назив датотеке само из путање датотеке.