Kako izdvojiti naziv datoteke i ekstenziju u Bashu

Kako Izdvojiti Naziv Datoteke I Ekstenziju U Bashu



Bash je moćna ljuska naredbenog retka koja se obično koristi u operativnim sustavima Linux i Unix. Jedan uobičajeni zadatak pri radu s datotekama u Bashu je izdvajanje naziva datoteke i ekstenzije iz putanje datoteke. Ovaj će članak raspravljati o tome kako izdvojiti naziv datoteke i ekstenziju u Bashu i dati primjere kako koristiti te vrijednosti u svojim skriptama.

Izdvajanje naziva datoteke i ekstenzije u Bashu

Postoji nekoliko načina za izdvajanje naziva datoteke i ekstenzije u Bashu, a evo tri uobičajene metode:







1: Korištenje naredbe Basename

The osnovno ime naredba vraća naziv datoteke iz putanje datoteke i izdvaja naziv datoteke i ekstenziju. Možete koristiti osnovno ime naredba s -sufiks opcija, koja uklanja navedeni sufiks iz naziva datoteke kao u donjem kodu:



#!/bin/bash
# Primjer putanje datoteke
put_datoteke = '/put/do/datoteke.txt'

# Ekstrakt naziva datoteke
naziv datoteke =$ ( osnovno ime $put_datoteke )

# Ekstrahiraj proširenje
proširenje = ' ${filename##*.} '

jeka 'Naziv datoteke: $naziv datoteke '
jeka 'Proširenje: $proširenje '







2: Korištenje proširenja parametara

The proširenje parametara sintaksa je moćna značajka Basha koja vam omogućuje manipuliranje nizovima. Da biste izdvojili naziv datoteke i ekstenziju pomoću proširenja parametara, možete koristiti ${parameter##word} sintaksa, koja uklanja najduže podudaranje navedenog uzorka s početka parametra kao u donjem kodu:

#!/bin/bash
# Primjer putanje datoteke
put_datoteke = '/put/do/datoteke.txt'
# Ekstrakt naziva datoteke
naziv datoteke = ' ${file_path##*/} '
# Ekstrahiraj proširenje
proširenje = ' ${filename##*.} '
jeka 'Naziv datoteke: $naziv datoteke '
jeka 'Proširenje: $proširenje '



3: Korištenje varijable IFS (Internal Field Separator).

The IFS varijabla koristi Bash za dijeljenje nizova u polja postavljanjem IFS varijabla na razdjelnik staze (“/”). Možete izdvojiti naziv datoteke i ekstenziju iz putanje datoteke kroz ovu varijablu pomoću donjeg koda:

#!/bin/bash
# Primjer putanje datoteke
put_datoteke = '/put/do/datoteke.txt'
# Postavite IFS na '/'
IFS = '/' čitati -r -a dijelovi <<< ' $put_datoteke '

# Ekstrakt naziva datoteke
naziv datoteke = ' ${dijelovi[-1]} '
# Ekstrahiraj proširenje
proširenje = ' ${filename##*.} '
jeka 'Naziv datoteke: $naziv datoteke '
jeka 'Proširenje: $proširenje '

Zaključak

Izdvajanje naziva datoteke i ekstenzije iz putanje datoteke uobičajen je zadatak pri radu s datotekama u Bashu. Ovaj članak raspravlja o tri uobičajene metode za izdvajanje naziva datoteke i ekstenzije u Bashu. Korištenjem osnovno ime naredba, proširenje parametara sintaksa, odnosno IFS varijabla , možete brzo i jednostavno izdvojiti naziv datoteke i vrijednosti proširenja iz putanje datoteke.