Jak usunąć ostatnie n znaków z łańcucha w Bash
W Bash przycinanie końcowych białych znaków z danych wprowadzonych przez użytkownika lub usuwanie ostatnich n znaków z łańcucha może być użyte do uporządkowania nazw plików z niepożądanymi rozszerzeniami:
Metoda 1: Użycie polecenia cięcia
Polecenie cut w Bash służy do wyodrębniania sekcji z każdej linii pliku. Można go również użyć do wyodrębnienia określonego zakresu znaków z ciągu znaków. Aby usunąć ostatnie n znaków z łańcucha, możemy użyć polecenia cut z opcją -c, a oto składnia:
Echo 'strunowy' | cięcie -C -N
Tutaj ciąg jest rzeczywistym ciągiem, z którego chcemy usunąć ostatnie n znaków, a n to liczba znaków, które chcemy usunąć, poniżej znajduje się przykład wykorzystujący powyższą składnię:
#!/bin/bash
strunowy = „Witaj Linuxie”
Echo ' $string ' | cięcie -C -5
W powyższym przykładzie użyliśmy polecenia cut, aby usunąć ostatnie 6 znaków z ciągu „Hello Linux”, a wynikiem jest „Hello”.
Metoda 2: Użycie polecenia sed
Sed to potężny edytor strumieni, którego można używać do wykonywania różnych transformacji tekstu w pliku lub strumieniu danych wejściowych. Aby usunąć ostatnie n znaków z łańcucha za pomocą sed, możemy użyć następującej składni polecenia:
Echo 'strunowy' | Ale 's/.\{n\}$//'Tutaj n to liczba znaków, które chcemy usunąć z końca łańcucha, a poniżej znajduje się przykład użycia polecenia sed:
#!/bin/bash
strunowy = „Witaj Linuxie”
Echo ' $string ' | Ale 's/.\{6\}$//'
W powyższym przykładzie użyliśmy polecenia sed, aby usunąć ostatnie 6 znaków z ciągu „Hello Linux”, a wynikiem jest „Hello”.
Metoda 3: Korzystanie z rozszerzenia parametrów
Ekspansja parametrów to funkcja w Bash, która pozwala nam manipulować wartością zmiennej. Aby usunąć ostatnie n znaków z łańcucha za pomocą interpretacji parametrów, możemy użyć następującej składni:
${string::-n}Tutaj zmienna łańcuchowa zawiera rzeczywisty ciąg, z którego chcemy usunąć ostatnie n znaków, a n to liczba znaków, które chcemy usunąć.
#!/bin/bashstrunowy = „Witaj Linuxie”
Echo ${string::-6}
W powyższym przykładzie użyliśmy rozszerzenia parametrów, aby usunąć ostatnie 4 znaki z ciągu „Hello Linux”, a wynikiem jest „Hello”.
Wniosek
Aby usunąć ostatnie n znaków z łańcucha w bashu, polecenie cut, polecenie sed i rozszerzenie parametrów to trzy sposoby. Te metody są łatwe w użyciu i mogą być pomocne w różnych zadaniach skryptowych Bash. Korzystając z tych metod, możemy łatwo manipulować ciągami znaków i przeprowadzać transformacje tekstu w Bash.