Jak wyodrębnić nazwę pliku i rozszerzenie w Bash

Jak Wyodrebnic Nazwe Pliku I Rozszerzenie W Bash



Bash to potężna powłoka wiersza poleceń, która jest powszechnie używana w systemach operacyjnych Linux i Unix. Jednym z typowych zadań podczas pracy z plikami w Bash jest wyodrębnienie nazwy pliku i rozszerzenia ze ścieżki pliku. W tym artykule omówimy, jak wyodrębnić nazwę pliku i rozszerzenie w Bash oraz przedstawimy przykłady wykorzystania tych wartości w skryptach.

Wyodrębnianie nazwy pliku i rozszerzenia w Bash

Istnieje kilka sposobów na wyodrębnienie nazwy pliku i rozszerzenia w Bash, oto trzy popularne metody:







1: Używanie polecenia Basename

The nazwa podstawowa polecenie zwraca nazwę pliku ze ścieżki pliku i wyodrębnia nazwę pliku i rozszerzenie. Możesz użyć nazwa podstawowa polecenie z -przyrostek opcja, która usuwa określony sufiks z nazwy pliku, jak w poniższym kodzie:



#!/bin/bash
# Przykładowa ścieżka do pliku
ścieżka pliku = '/ścieżka/do/pliku.txt'

# Wyodrębnij nazwę pliku
Nazwa pliku = $ ( nazwa podstawowa $ścieżka_pliku )

# Wyodrębnij rozszerzenie
rozszerzenie = ' ${nazwa pliku##*.} '

Echo 'Nazwa pliku: $nazwa pliku '
Echo 'Rozszerzenie: $rozszerzenie '







2: Korzystanie z rozszerzenia parametrów

The rozszerzenie parametrów Składnia to potężna funkcja Bash, która pozwala manipulować ciągami znaków. Aby wyodrębnić nazwę pliku i rozszerzenie za pomocą rozszerzenia parametrów, możesz użyć ${parametr##słowo} składnia, która usuwa najdłuższe dopasowanie określonego wzorca od początku parametru, jak w poniższym kodzie:

#!/bin/bash
# Przykładowa ścieżka do pliku
ścieżka pliku = '/ścieżka/do/pliku.txt'
# Wyodrębnij nazwę pliku
Nazwa pliku = ' ${file_path##*/} '
# Wyodrębnij rozszerzenie
rozszerzenie = ' ${nazwa pliku##*.} '
Echo 'Nazwa pliku: $nazwa pliku '
Echo 'Rozszerzenie: $rozszerzenie '



3: Korzystanie ze zmiennej IFS (wewnętrzny separator pól).

The Zmienna IFS jest używany przez Bash do dzielenia łańcuchów na pola poprzez ustawienie Zmienna IFS do separatora ścieżki („/”). Możesz wyodrębnić nazwę pliku i rozszerzenie ze ścieżki pliku za pomocą tej zmiennej, używając poniższego kodu:

#!/bin/bash
# Przykładowa ścieżka do pliku
ścieżka pliku = '/ścieżka/do/pliku.txt'
# Ustaw IFS na „/”
IFS = '/' Czytać -R -A Części <<< ' $ścieżka_pliku '

# Wyodrębnij nazwę pliku
Nazwa pliku = ' ${części[-1]} '
# Wyodrębnij rozszerzenie
rozszerzenie = ' ${nazwa pliku##*.} '
Echo 'Nazwa pliku: $nazwa pliku '
Echo 'Rozszerzenie: $rozszerzenie '

Wniosek

Wyodrębnianie nazwy pliku i rozszerzenia ze ścieżki pliku jest częstym zadaniem podczas pracy z plikami w Bash. W tym artykule omówiono trzy popularne metody wyodrębniania nazwy pliku i rozszerzenia w Bash. za pomocą nazwa podstawowa komenda, ew rozszerzenie parametrów składnia lub Zmienna IFS , możesz szybko i łatwo wyodrębnić nazwę pliku i wartości rozszerzenia ze ścieżki pliku.