Skaitykite failo pavadinimą be plėtinio „Bash“

Read Filename Without Extension Bash



„Linux“ vartotojai turi reguliariai dirbti su failais daugeliu tikslų. Kartais vartotojams reikia perskaityti pagrindinį failo pavadinimą tik pašalinus failo plėtinį. Failo pavadinimą ir plėtinį galima atskirti ir išsaugoti skirtinguose „Linux“ kintamuosiuose keliais būdais. „Bash“ integruota komanda ir apvalkalo parametrų išplėtimas gali būti naudojami failo plėtiniui pašalinti. Šiame vadove paaiškinta, kaip galima perskaityti failo pavadinimą be plėtinio, naudojant aukščiau paminėtus būdus.

Naudojant komandą „basename“ failo pavadinimui skaityti

„basename“ komanda naudojama failo pavadinimui skaityti be plėtinio iš katalogo ar failo kelio.







Sintaksė:



bazinis pavadinimasVARDAS[PRIESAGA]

arba



bazinis pavadinimasPARINKTIS ... PAVADINIMAS ...

Čia NAME gali būti failo arba failo pavadinimas su visu keliu. SUFFIX yra neprivalomas ir jame yra failo plėtinio dalis, kurią vartotojas nori pašalinti. Komanda „basename“ turi keletą parinkčių, kurios aprašytos žemiau.





Galimybės

vardas apibūdinimas
Jis naudojamas perduoti kelis failų pavadinimus su keliu arba be kelio kaip komandų argumentai.
-s Jis naudojamas plėtiniui perduoti kaip priesagą, kurią reikia pašalinti.
-Su Jis naudojamas kelių failų pavadinimams rodyti, atskiriant kiekvieną failą nuliu.
- padėti Jis naudojamas informacijai apie komandą „basename“ rodyti.
- versiją Jis naudojamas versijos informacijai rodyti.

1 pavyzdys: NAME ir SUFFIX naudojimas

Ši komanda „basename“ nuskaitys failo pavadinimą su plėtiniu. SUFFIX šioje komandoje praleistas. Čia išvestis yra „Product.txt“ .



$bazinis pavadinimas /namai/fahmida/kodą/product.txt

Jei norite gauti failo pavadinimą be plėtinio, turite pateikti failo plėtinį kaip SUFFIX su komanda „basename“. Čia plėtinys yra .txt. Norėdami pašalinti plėtinį iš failo, paleiskite šią komandą.

$bazinis pavadinimas /namai/fahmida/kodą/product.txt .txt

2 pavyzdys: „-a“ parinkties ir „NAME“ naudojimas

Šiame pavyzdyje parodyta komandos „basename“ parinktis „-a“. Čia du failų keliai perduodami kaip argumentai naudojant komandą „basename“. Kiekvienas failo pavadinimas su plėtiniu bus nuskaitytas iš kelio ir atspausdintas naudojant naują eilutę.

$bazinis pavadinimas /namai/fahmida/index.html/namai/fahmida/kodą/emp.txt

3 pavyzdys: „-z“ parinkties ir „NAME“ naudojimas

„-Z“ parinktis naudojama su komanda „basename“, kad būtų spausdinami keli failų pavadinimai su nuline reikšme, o ne nauja eilutė. Ši komanda kartu naudoja dvi parinktis-„-a“ ir „-z“. Čia du failų pavadinimai, index.html ir emp.txt spausdins be tarpų ar naujos eilutės.

$bazinis pavadinimas -jie /namai/fahmida/index.html/namai/fahmida/kodą/emp.txt

4 pavyzdys: „-s“ parinkties ir „NAME“ naudojimas

Šią komandą galima naudoti kaip alternatyvą SUFFIX su „basename“. Failo plėtinys turi praeiti su „-sh“ parinktimi, kad pašalintumėte failo plėtinį iš failo. Šis pavyzdys pašalins plėtinį „-sh“ iš failo „add.sh“.

$bazinis pavadinimas -s.sh papildymas.sh

5 pavyzdys: pašalinkite failo plėtinį be SUFFIX

Jei nežinote failo plėtinio, kurį norite pašalinti iš failo pavadinimo, šis pavyzdys padės išspręsti problemą. Sukurkite failą pavadinimu read_file.sh naudodami šį kodą, kad gautumėte bet kurio plėtinio failo pavadinimą. Komanda „sed“ šiame pavyzdyje naudojama norint pašalinti bet kokio tipo plėtinius iš failo pavadinimo. Jei paleisite scenarijų, rezultatas bus „ vidutinis „Pašalinus plėtinį“ py “.

read_file.sh

#!/bin/bash
# Nustatykite failo pavadinimą su keliu
failo pavadinimas='/home/fahmida/code/average.py'
# Skaitykite failo pavadinimą be plėtinio naudodami „basname“ ir „sed“ komandas
išmetė '$ (bazinis pavadinimas '$ filename' | sed 's/ (.*) ..*/ 1/')'

Paleiskite scenarijų.

$muštiread_file.sh

6 pavyzdys: konvertuokite failo plėtinį iš txt į docx

Failo pavadinimas be plėtinio turi konvertuoti failą iš vieno plėtinio į kitą. Šis pavyzdys parodo, kaip galite pakeisti visų teksto failų (.txt) plėtinį į žodinius failus (.docx), naudodami komandą „basename“ bash scenarijuje. Sukurkite failą pavadinimu, convert_file.sh su šiuo kodu. Čia „for-in“ kilpa naudojama visiems teksto failams skaityti .txt plėtinį iš dabartinio katalogo. Failo pavadinimas be plėtinio skaitomas naudojant komandą „basename“ ir pervadinamas pridedant .docx plėtinį kiekvienoje kilpos iteracijoje.

convert_file.sh

#!/bin/bash
# ciklas skaitys kiekvieną teksto failą iš dabartinio katalogo
dėlfailo pavadinimasį ``ls *.txt``
daryti
# Prieš konvertuodami išspausdinkite teksto failo pavadinimą
išmetė „Failo pavadinimas prieš konvertavimą:$ failo pavadinimas'
# Pakeiskite failo txt plėtinį į docx
mv - '$ failo pavadinimas' '$ (bazinis pavadinimas - „$ filename“ .txt).docx '
padaryta

Paleiskite scenarijų.

$mušticonvert_file.sh

Naudodami komandą „ls“ patikrinkite, ar teksto failai konvertuoti, ar ne.

$ls

7 pavyzdys: skaitykite failo pavadinimą be plėtinio naudodami „Shell“ parametro išplėtimą

„Shell“ parametrų išplėtimas yra dar vienas būdas skaityti failo pavadinimą be plėtinio „bash“. Šiame pavyzdyje parodytas apvalkalo parametrų išplėtimo naudojimas. Ši komanda išsaugos failo kelio pavadinimą kintamajame, $ failo pavadinimas .

$failo pavadinimas='/var/usr/temp/myfile.tar.gz'

Ši komanda pašalins visų tipų plėtinius iš kelio ir išsaugos failo kelią be plėtinio kintamajame, $ failas1 .

$failas1='$ {filename %%.*}'

Ši komanda spausdins failo pavadinimą tik iš kelio. Čia išvestis bus „ mano byla “.

$išmetė '$ {file1 ##*/}'

Jei failo pavadinime yra du plėtiniai su dviem taškais (.) Ir norite perskaityti failo pavadinimą pašalindami paskutinį failo plėtinį, turite naudoti šią komandą. Vykdykite šią komandą, kuri išsaugo failo kelią į kintamąjį, $ failas2 pašalinus paskutinį failo plėtinį.

$failas2='$ {failo pavadinimas%.*}'

Dabar paleiskite šią komandą, kad išspausdintumėte failo pavadinimą su vieno taško (.) Plėtiniu. Čia bus išvestis myfile.tar.

$išmetė '$ {file2 ## * /}'

Išvada

Failo pavadinimas be plėtinio reikalingas įvairiems tikslams. Kai kurie failo pavadinimo be plėtinio naudojimo būdai paaiškinami šiame vadove, naudojant keletą pavyzdžių, pvz., Failų konvertavimą. Ši pamoka padės tiems vartotojams, kurie domisi, sužinoti, kaip atskirti failo pavadinimą ir plėtinį nuo failo kelio. Čia paaiškinami du būdai. Vartotojas gali atlikti bet kurį iš šių būdų, norėdamas išgauti failo pavadinimą tik iš failo kelio.