Korzystanie z polecenia „Basename” do odczytania nazwy pliku
Polecenie „Basename” służy do odczytania nazwy pliku bez rozszerzenia z katalogu lub ścieżki pliku.
Składnia:
nazwa podstawy [sufiks]
Lub
Opcja Basename… Nazwa…
Tutaj nazwa może zawierać nazwę pliku lub nazwę pliku z pełną ścieżką. Sufiks jest opcjonalny i zawiera część rozszerzenia pliku, którą użytkownik chce usunąć. Polecenie „Basename” ma pewne opcje, które opisano poniżej.
Opcje
Nazwa | Opis |
-A | Służy do przekazywania wielu nazw plików ze ścieżką lub bez ścieżki jako argumenty poleceń. |
-S | Służy do przekazywania rozszerzenia jako sufiks, który musi usunąć. |
-z | Służy do wyświetlania wielu nazw plików poprzez oddzielenie każdego pliku z NULL. |
-pomoc | Służy do wyświetlania informacji o użyciu polecenia „Basename”. |
-wersja | Służy do wyświetlania informacji o wersji. |
Przykład-1: Używanie nazwy i sufiksu
Poniższe polecenie „Basename” odzyska nazwę pliku z rozszerzeniem. Sufiks jest pominięty w tym poleceniu. Tutaj wyjście jest 'produkt.tekst'.
$ basename/home/fahmida/kod/produkt.tekst
Jeśli chcesz odzyskać nazwę pliku bez rozszerzenia, musisz podać rozszerzenie pliku jako sufiks z poleceniem „Basename”. Tutaj rozszerzenie brzmi „.tekst". Uruchom następujące polecenie, aby usunąć rozszerzenie z pliku.
$ basename/home/fahmida/kod/produkt.tekst .tekst
Przykład-2: Używanie opcji i nazwy „-a”
Użycie opcji „-a” polecenia „Basename” pokazano w tym przykładzie. Tutaj dwie ścieżki plików są przekazywane jako argumenty za pomocą polecenia „Basename”. Każda nazwa pliku z rozszerzeniem będzie pobierana ze ścieżki i wydrukować według Newline.
$ basename -a/home/fahmida/index.html/home/fahmida/kod/emp.tekst
Przykład-3: Używanie opcji i nazwy „-z”
Opcja „-Z” jest używana z poleceniem „Basename” do wydrukowania wielu nazw plików o wartości zerowej zamiast nowej linii. Poniższe polecenie używa dwóch opcji razem, „-a” i „-z”. Tutaj, dwa nazwy plików, indeks.html I emp.tekst wydrukuje bez miejsca lub nowej linii.
$ basename -az/home/fahmida/index.html/home/fahmida/kod/emp.tekst
Przykład-4: Używanie opcji i nazwy „-s”
Poniższe polecenie może być używane jako alternatywa przyrostka z „Basename”. Rozszerzenie pliku musi przejść z opcją „-SH”, aby usunąć rozszerzenie pliku z pliku. Poniższy przykład usunie rozszerzenie „-SH” z pliku „Dodatek.cii'.
$ basename -s .Dodatek sh.cii
Przykład-5: Usuń rozszerzenie pliku bez przyrostka
Jeśli nie znasz rozszerzenia pliku, który chcesz usunąć z nazwy pliku, ten przykład pomoże Ci rozwiązać problem. Utwórz plik o nazwie Read_file.cii z następującym kodem w celu odzyskania nazwy pliku dowolnego rozszerzenia. Polecenie „SED” jest używane w tym przykładzie do usunięcia dowolnego rodzaju rozszerzenia z nazwy pliku. Jeśli uruchomisz skrypt, dane wyjściowe będzie 'przeciętny„Po usunięciu rozszerzenia”py'.
Read_file.cii
#!/bin/bash
# Ustaw nazwę pliku ze ścieżką
filename = "/home/fahmida/kod/średnia.py "
# Przeczytaj nazwę pliku bez rozszerzenia, używając polecenia „basname” i „sed”
echo "$ (basename" $ filename "| sed 's/\ (.*\) \… */\ 1/') "
Uruchom skrypt.
$ bash read_file.cii
Przykład-6: Konwertuj rozszerzenie pliku z TXT na DOCX
Nazwa pliku bez rozszerzenia musi przekonwertować plik z jednego rozszerzenia na drugie. Ten przykład pokazuje, jak możesz zmienić rozszerzenie wszystkich plików tekstowych (.txt) w plikach słów (.Docx) za pomocą polecenia „Basename” w skrypcie Bash. Utwórz plik o nazwie, Convert_file.cii z następującym kodem. Tutaj do czytania wszystkich plików tekstowych jest używana do odczytu wszystkich plików tekstowych ".tekst" rozszerzenie z bieżącego katalogu. Nazwa pliku bez rozszerzenia jest odczytywana przez polecenie „Basename” i przemianowane przez dodanie „Dodawanie”.rozszerzenie DOCX ”w każdej iteracji pętli.
Convert_file.cii
#!/bin/bash
# pętla odczytuje każdy plik tekstowy z bieżącego katalogu
dla nazwy pliku w „LS *.tekst'
Do
# Wydrukuj nazwę pliku tekstowego przed konwersją
echo „nazwa pliku przed konwersją: $ nazwa pliku”
# Zmień rozszerzenie pliku TXT na DOCX
MV - „$ fileName” „$ (basename -„ $ filename ” .tekst).Docx "
zrobione
Uruchom skrypt.
$ bash Convert_file.cii
Sprawdź, czy pliki tekstowe są konwertowane lub nie za pomocą polecenia „LS”.
$ ls
Przykład-7: odczyt nazwy pliku bez rozszerzenia za pomocą rozszerzenia parametru powłoki
Rozszerzenie parametru powłoki to kolejny sposób odczytania nazwy pliku bez rozszerzenia w BASH. Ten przykład pokazuje zastosowania rozszerzenia parametru powłoki. Poniższe polecenie będzie przechowywać nazwę pliku w zmiennej, $Nazwa pliku.
$ filename = "/var/usr/temp/myfile.smoła.GZ "
Poniższe polecenie usunie wszystkie typy rozszerzenia ze ścieżki i przechowuje ścieżkę pliku bez rozszerzenia w zmiennej, $ file1.
$ file1 = "$ nazwa pliku %%.* ”
Następujące polecenie wydrukuje nazwę pliku tylko ze ścieżki. Tutaj wyjście będziemój plik'.
$ echo "$ file1 ##*/"
Jeśli nazwa pliku zawiera dwa rozszerzenia z dwiema kropkami (.) i chcesz przeczytać nazwę pliku, usuwając ostatnie rozszerzenie pliku, a następnie musisz użyć następującego polecenia. Uruchom następujące polecenie, które przechowują ścieżkę pliku do zmiennej, $ file2 Usuwając ostatnie rozszerzenie pliku.
$ file2 = "$ nazwa pliku%.* ”
Teraz uruchom następujące polecenie, aby wydrukować nazwę pliku za pomocą jednej kropki (.) rozszerzenie. Tutaj wyjście będzie "mój plik.smoła".
$ echo "$ file2 ##*/"
Nazwa pliku bez rozszerzenia jest wymagana do różnych celów. Niektóre zastosowania nazwy pliku bez rozszerzenia są wyjaśnione w tym samouczku za pomocą niektórych przykładów, takich jak konwersja plików. Ten samouczek pomoże użytkownikom, którzy są zainteresowani nauczeniem się sposobów oddzielenia nazwy pliku i rozszerzenia od ścieżki pliku. Tutaj wyjaśniono dwa sposoby. Użytkownik może zastosować dowolny z tych sposobów wyodrębnienia nazwy pliku tylko ze ścieżki pliku.