Bash lasiet faila nosaukumu bez paplašinājuma

Read Filename Without Extension Bash



Linux lietotājiem ir regulāri jāstrādā ar failiem daudziem mērķiem. Dažreiz lietotājiem ir jāizlasa faila pamatnosaukums, tikai noņemot faila paplašinājumu. Faila nosaukumu un paplašinājumu var atdalīt un saglabāt dažādos mainīgos Linux dažādos veidos. Bash iebūvēto komandu un apvalka parametru paplašināšanu var izmantot, lai noņemtu faila paplašinājumu. Šajā apmācībā ir izskaidrots, kā faila nosaukumu bez paplašinājuma var nolasīt, izmantojot iepriekš minētos veidus.

Izmantojot komandu 'basename', lasiet faila nosaukumu

Komanda 'basename' tiek izmantota, lai no direktorijas vai faila ceļa lasītu faila nosaukumu bez paplašinājuma.







Sintakse:



pamatnosaukumsNAME[SUFFIX]

vai



pamatnosaukumsIESPĒJA ... VĀRDS ...

Šeit NAME var ietvert faila nosaukumu vai faila nosaukumu ar pilnu ceļu. SUFFIX nav obligāts, un tajā ir faila paplašinājuma daļa, kuru lietotājs vēlas noņemt. Komandai 'basename' ir dažas iespējas, kas aprakstītas zemāk.





Iespējas

Vārds Apraksts
-uz To izmanto, lai kā komandu argumentus nodotu vairākus failu nosaukumus ar ceļu vai bez ceļa.
-s To izmanto, lai paplašinājumu nodotu kā sufiksu, kas ir jānoņem.
-Ar To izmanto, lai parādītu vairākus failu nosaukumus, atdalot katru failu ar nulli.
- palīdzība To izmanto, lai parādītu informāciju par komandas 'basename' izmantošanu.
- versija To izmanto, lai parādītu versijas informāciju.

1. piemērs: NAME un SUFFIX izmantošana

Šī komanda 'basename' izgūs faila nosaukumu ar paplašinājumu. SUFFIX šajā komandā nav iekļauts. Šeit izeja ir “Product.txt” .



$pamatnosaukums /mājas/fahmida/kods/product.txt

Ja vēlaties izgūt faila nosaukumu bez paplašinājuma, jums ir jānorāda faila paplašinājums kā SUFFIX ar komandu 'basename'. Šeit paplašinājums ir .txt. Palaidiet šo komandu, lai noņemtu paplašinājumu no faila.

$pamatnosaukums /mājas/fahmida/kods/product.txt .txt

2. piemērs: izmantojot opciju “-a” un NAME

Šajā piemērā ir parādīta komandas 'basename' opcijas '-a' izmantošana. Šeit divi failu ceļi tiek nodoti kā argumenti ar komandu 'basename'. Katrs faila nosaukums ar paplašinājumu tiks iegūts no ceļa un izdrukāts pēc jaunas rindas.

$pamatnosaukums -uz /mājas/fahmida/index.html/mājas/fahmida/kods/emp.txt

3. piemērs: izmantojot opciju “-z” un NAME

Opcija “-z” tiek izmantota ar komandu “basename”, lai drukātu vairākus failu nosaukumus ar nulles vērtību, nevis jaunu rindu. Šī komanda kopā izmanto divas iespējas-“-a” un “-z”. Šeit ir divi failu nosaukumi, index.html un emp.txt drukās bez atstarpes vai jaunas rindas.

$pamatnosaukums -viņi /mājas/fahmida/index.html/mājas/fahmida/kods/emp.txt

4. piemērs. Izmantojot opciju “-s” un NAME

Šo komandu var izmantot kā SUFFIX alternatīvu ar 'basename'. Lai noņemtu faila paplašinājumu no faila, faila paplašinājumam ir jānokārto opcija “-sh”. Šis piemērs noņems paplašinājumu “-sh” no faila “add.sh”.

$pamatnosaukums -s.sh papildinājums.sh

5. piemērs: noņemiet faila paplašinājumu bez SUFFIX

Ja jūs nezināt faila paplašinājumu, kuru vēlaties noņemt no faila nosaukuma, tad šis piemērs palīdzēs jums atrisināt problēmu. Izveidojiet failu ar nosaukumu read_file.sh ar šādu kodu, lai izgūtu jebkura paplašinājuma faila nosaukumu. Komanda 'sed' šajā piemērā tiek izmantota, lai no faila nosaukuma noņemtu jebkāda veida paplašinājumus. Palaižot skriptu, iznākums būs “ vidēji 'Pēc paplašinājuma noņemšanas' py '.

read_file.sh

#!/bin/bash
# Iestatiet faila nosaukumu ar ceļu
faila nosaukums='/home/fahmida/code/average.py'
# Izlasiet faila nosaukumu bez paplašinājuma, izmantojot komandu “basname” un “sed”
izmest ārā '$ (basename '$ filename' | sed 's/ (.*) ..*/ 1/')'

Palaidiet skriptu.

$bashread_file.sh

6. piemērs: konvertējiet faila paplašinājumu no txt uz docx

Faila nosaukumam bez paplašinājuma ir jāpārvērš fails no viena paplašinājuma uz citu. Šis piemērs parāda, kā visu teksta failu (.txt) paplašinājumu var mainīt uz vārda failiem (.docx), izmantojot bash skripta komandu 'basename'. Izveidojiet failu ar nosaukumu, convert_file.sh ar šādu kodu. Šeit for-in cilpa tiek izmantota, lai lasītu visus teksta failus ar .txt paplašinājumu no pašreizējā direktorija. Faila nosaukumu bez paplašinājuma nolasa komanda 'basename' un pārdēvē, pievienojot paplašinājumu .docx katrā cilpas atkārtojumā.

convert_file.sh

#!/bin/bash
# cilpa nolasīs katru teksta failu no pašreizējā direktorija
priekšfaila nosaukumsiekšā ``ls *.txt``
darīt
# Pirms konvertēšanas izdrukājiet teksta faila nosaukumu
izmest ārā 'Faila nosaukums pirms konvertēšanas:$ faila nosaukums'
# Mainiet faila txt paplašinājumu uz docx
mv - '$ faila nosaukums' '$ (basename - '$ faila nosaukums' .txt).docx '
darīts

Palaidiet skriptu.

$bashconvert_file.sh

Izmantojot komandu 'ls', pārbaudiet, vai teksta faili ir konvertēti vai nē.

$ls

Piemērs: lasiet faila nosaukumu bez paplašinājuma, izmantojot Shell parametru paplašināšanu

Shell parametru paplašināšana ir vēl viens veids, kā nolasīt faila nosaukumu bez paplašinājuma bash. Šis piemērs parāda apvalka parametru paplašināšanas lietojumus. Šī komanda saglabās faila ceļa nosaukumu mainīgajā, $ faila nosaukums .

$faila nosaukums='/var/usr/temp/myfile.tar.gz'

Šī komanda noņems visa veida paplašinājumus no ceļa un saglabās faila ceļu bez paplašinājuma mainīgajā, $ fails1 .

$fails1='$ {faila nosaukums %%.*}'

Šī komanda drukās faila nosaukumu tikai no ceļa. Šeit izvade būs ' myfile '.

$izmest ārā '$ {file1 ##*/}'

Ja faila nosaukumā ir divi paplašinājumi ar diviem punktiem (.) Un vēlaties nolasīt faila nosaukumu, noņemot faila pēdējo paplašinājumu, jums jāizmanto šāda komanda. Palaidiet šādu komandu, kas saglabā faila ceļu mainīgajā, $ fails2 noņemot faila pēdējo paplašinājumu.

$fails2='$ {faila nosaukums%.*}'

Tagad izpildiet šo komandu, lai izdrukātu faila nosaukumu ar viena punkta (.) Paplašinājumu. Šeit iznākums būs myfile.tar.

$izmest ārā '$ {file2 ## * /}'

Secinājums

Faila nosaukums bez paplašinājuma ir nepieciešams dažādiem mērķiem. Šajā apmācībā ir izskaidroti daži faila nosaukuma bez paplašinājuma lietojumi, izmantojot dažus piemērus, piemēram, failu konvertēšanu. Šī apmācība palīdzēs tiem lietotājiem, kurus interesē, uzzināt veidus, kā atdalīt faila nosaukumu un paplašinājumu no faila ceļa. Šeit ir izskaidroti divi veidi. Lietotājs var veikt kādu no šiem veidiem, lai izgūtu faila nosaukumu tikai no faila ceļa.