Paano I-extract ang Filename at Extension sa Bash

Paano I Extract Ang Filename At Extension Sa Bash



Ang Bash ay isang malakas na command-line shell na karaniwang ginagamit sa Linux at Unix operating system. Isang karaniwang gawain kapag nagtatrabaho sa mga file sa Bash ay kunin ang filename at extension mula sa isang file path. Tatalakayin ng artikulong ito kung paano i-extract ang filename at extension sa Bash at magbigay ng mga halimbawa kung paano gamitin ang mga value na ito sa iyong mga script.

Pag-extract ng Filename at Extension sa Bash

Mayroong ilang mga paraan upang kunin ang filename at extension sa Bash, narito ang tatlong karaniwang pamamaraan:







1: Gamit ang Basename Command

Ang basename Ibinabalik ng command ang filename mula sa isang file path at kinukuha ang filename at extension. Maaari mong gamitin ang basename utos kasama ang –panlapi opsyon, na nag-aalis ng tinukoy na suffix mula sa filename tulad ng sa ibinigay na code sa ibaba:



#!/bin/bash
# Halimbawang landas ng file
file_path = '/path/to/file.txt'

# I-extract ang filename
filename =$ ( basename $file_path )

# Extract extension
extension = ' ${filename##*.} '

echo 'Filename: $filename '
echo 'Extension: $extension '







2: Paggamit ng Parameter Expansion

Ang pagpapalawak ng parameter Ang syntax ay isang malakas na feature ng Bash na nagbibigay-daan sa iyong manipulahin ang mga string. Upang kunin ang filename at extension gamit ang pagpapalawak ng parameter, maaari mong gamitin ang ${parameter##word} syntax, na nag-aalis ng pinakamahabang tugma ng tinukoy na pattern mula sa simula ng parameter tulad ng sa code sa ibaba:

#!/bin/bash
# Halimbawang landas ng file
file_path = '/path/to/file.txt'
# I-extract ang filename
filename = ' ${file_path##*/} '
# Extract extension
extension = ' ${filename##*.} '
echo 'Filename: $filename '
echo 'Extension: $extension '



3: Paggamit ng IFS (Internal Field Separator) Variable

Ang IFS variable ay ginagamit ng Bash upang hatiin ang mga string sa mga field sa pamamagitan ng pagtatakda ng IFS variable sa path separator (“/”). Maaari mong i-extract ang filename at extension mula sa isang file path sa pamamagitan ng variable na ito gamit ang ibinigay na code sa ibaba:

#!/bin/bash
# Halimbawang landas ng file
file_path = '/path/to/file.txt'
# Itakda ang IFS sa '/'
IFS = '/' basahin -r -a mga bahagi <<<< ' $file_path '

# I-extract ang filename
filename = ' ${parts[-1]} '
# Extract extension
extension = ' ${filename##*.} '
echo 'Filename: $filename '
echo 'Extension: $extension '

Konklusyon

Ang pag-extract ng filename at extension mula sa isang file path ay isang karaniwang gawain kapag nagtatrabaho sa mga file sa Bash. Tinalakay ng artikulong ito ang tatlong karaniwang pamamaraan para sa pagkuha ng filename at extension sa Bash. Sa pamamagitan ng paggamit ng basename utos, ang pagpapalawak ng parameter syntax, o ang IFS variable , maaari mong mabilis at madaling makuha ang filename at mga halaga ng extension mula sa isang file path.