Bash to potężna powłoka wiersza polecenia, która jest powszechnie używana w systemach operacyjnych Linux i Unix. Jednym z powszechnych zadań podczas pracy z plikami w Bash jest wyodrębnienie nazwy pliku i rozszerzenia ze ścieżki pliku. W tym artykule omówiono sposób wyodrębnienia nazwy pliku i rozszerzenia w BASH i podaje przykłady wykorzystania tych wartości w skryptach.
Wyodrębnienie nazwy pliku i rozszerzenia w Bash
Istnieje kilka sposobów wyodrębnienia nazwy pliku i rozszerzenia w Bash, oto trzy popularne metody:
1: Korzystanie z polecenia Basename
Basename Polecenie zwraca nazwę pliku ze ścieżki pliku i wyodrębnia nazwę pliku i rozszerzenia. Możesz użyć Basename polecenie z -przyrostek Opcja, która usuwa określony sufiks z nazwy pliku, jak w kodzie poniżej:
#!/bin/bash
# Przykładowa ścieżka pliku
file_path = "/ścieżka/do/plik.tekst"
# Wyodrębnij nazwę pliku
filename = $ (basename $ file_path)
# Rozszerzenie wyciągu
rozszerzenie = "$ nazwa pliku ##*. "
echo „nazwa pliku: $ nazwa pliku”
Echo „rozszerzenie: $ rozszerzenie”
2: Korzystanie z rozszerzenia parametru
Rozszerzenie parametru Składnia jest potężną cechą Bash, która pozwala manipulować strunami. Aby wyodrębnić nazwę pliku i rozszerzenie za pomocą rozszerzenia parametrów, możesz użyć $ parametr ## Word Składnia, która usuwa najdłuższy dopasowanie określonego wzoru od początku parametru jak w poniższym kodzie:
#!/bin/bash
# Przykładowa ścieżka pliku
file_path = "/ścieżka/do/plik.tekst"
# Wyodrębnij nazwę pliku
filename = "$ file_path ##*/"
# Rozszerzenie wyciągu
rozszerzenie = "$ nazwa pliku ##*. "
echo „nazwa pliku: $ nazwa pliku”
Echo „rozszerzenie: $ rozszerzenie”
3: Za pomocą zmiennej IFS (wewnętrzny separator pola)
Zmienna IFS jest używany przez Bash do podziału ciągów na pola poprzez ustawienie Zmienna IFS do separatora ścieżki („/”). Możesz wyodrębnić nazwę pliku i rozszerzenie ze ścieżki pliku przez tę zmienną przy użyciu kodu poniżej podanego:
#!/bin/bash
# Przykładowa ścieżka pliku
file_path = "/ścieżka/do/plik.tekst"
# Ustaw ifs na „/”
Ifs = "/" odczyt -r -a części <<< "$file_path"
# Wyodrębnij nazwę pliku
filename = "$ części [-1]"
# Rozszerzenie wyciągu
rozszerzenie = "$ nazwa pliku ##*. "
echo „nazwa pliku: $ nazwa pliku”
Echo „rozszerzenie: $ rozszerzenie”
Wniosek
Wyodrębnienie nazwy pliku i rozszerzenia ze ścieżki pliku jest powszechnym zadaniem podczas pracy z plikami w Bash. W tym artykule omówiono trzy popularne metody wyodrębnienia nazwy pliku i rozszerzenia w BASH. Za pomocą Basename polecenie Rozszerzenie parametru składnia lub Zmienna IFS, Możesz szybko i łatwo wyodrębnić nazwę pliku i wartości rozszerzenia ze ścieżki pliku.