Ako extrahovať názov súboru a príponu v Bash

Ako Extrahovat Nazov Suboru A Priponu V Bash



Bash je výkonný shell príkazového riadka, ktorý sa bežne používa v operačných systémoch Linux a Unix. Jednou z bežných úloh pri práci so súbormi v Bash je extrahovať názov súboru a príponu z cesty k súboru. Tento článok bude diskutovať o tom, ako extrahovať názov súboru a príponu v Bash, a poskytne príklady použitia týchto hodnôt vo vašich skriptoch.

Extrahovanie názvu súboru a prípony v Bash

Existuje niekoľko spôsobov, ako extrahovať názov súboru a príponu v Bash, tu sú tri bežné metódy:







1: Použitie príkazu Basename

The základné meno príkaz vráti názov súboru z cesty k súboru a extrahuje názov súboru a príponu. Môžete použiť základné meno príkaz s – prípona možnosť, ktorá odstráni zadanú príponu z názvu súboru ako v nižšie uvedenom kóde:



#!/bin/bash
# Príklad cesty k súboru
cesta k súboru = '/cesta/k/suboru.txt'

# Extrahujte názov súboru
názov súboru = $ ( základné meno $file_path )

# Rozšírenie extraktu
rozšírenie = ' ${filename##*.} '

ozvena 'Názov súboru: $filename '
ozvena 'Rozšírenie: $predĺženie '







2: Použitie rozšírenia parametrov

The rozšírenie parametrov syntax je výkonná funkcia Bash, ktorá vám umožňuje manipulovať s reťazcami. Ak chcete extrahovať názov súboru a príponu pomocou rozšírenia parametrov, môžete použiť ${parameter##word} syntax, ktorá odstráni najdlhšiu zhodu zadaného vzoru zo začiatku parametra ako v kóde nižšie:

#!/bin/bash
# Príklad cesty k súboru
cesta k súboru = '/cesta/k/suboru.txt'
# Extrahujte názov súboru
názov súboru = ' ${file_path##*/} '
# Rozšírenie extraktu
rozšírenie = ' ${filename##*.} '
ozvena 'Názov súboru: $filename '
ozvena 'Rozšírenie: $predĺženie '



3: Použitie premennej IFS (Internal Field Separator).

The IFS premenná používa Bash na rozdelenie reťazcov do polí nastavením IFS premenná na oddeľovač cesty („/“). Názov súboru a príponu môžete extrahovať z cesty k súboru cez túto premennú pomocou nižšie uvedeného kódu:

#!/bin/bash
# Príklad cesty k súboru
cesta k súboru = '/cesta/k/suboru.txt'
# Nastavte IFS na '/'
IFS = '/' čítať -r -a časti <<< ' $file_path '

# Extrahujte názov súboru
názov súboru = ' ${parts[-1]} '
# Rozšírenie extraktu
rozšírenie = ' ${filename##*.} '
ozvena 'Názov súboru: $filename '
ozvena 'Rozšírenie: $predĺženie '

Záver

Extrahovanie názvu súboru a prípony z cesty k súboru je bežnou úlohou pri práci so súbormi v Bash. Tento článok diskutoval o troch bežných metódach extrakcie názvu súboru a prípony v Bash. Pomocou základné meno príkaz, rozšírenie parametrov syntax, alebo IFS premenná môžete rýchlo a jednoducho extrahovať názov súboru a hodnoty prípony z cesty k súboru.