Jak usunąć ostatnie n znaki z sznurka w Bash
W Bash przycinanie białych oddziały z wejść użytkownika lub usuwanie końcowych N znaków z łańcucha można użyć do uporządkowania nazw plików z niepożądanymi rozszerzeniami:
Metoda 1: Za pomocą polecenia cięcia
Polecenie cięcia w Bash służy do wyodrębnienia sekcji z każdego wiersza pliku. Można go również użyć do wyodrębnienia określonego zakresu znaków z łańcucha. Aby usunąć ostatnie n znaki z ciągu, możemy użyć polecenia CUT z opcją -C, a oto składnia:
Echo „String” | Cut -c -n
Tutaj ciąg jest faktycznym ciągiem, z którego chcemy usunąć ostatnie n znaki, a n to liczba znaków, które chcemy usunąć, poniżej jest przykład, który używa powyższej składni:
#!/bin/bash
string = "Hello Linux"
Echo „$ String” | Cut -c -5
W powyższym przykładzie użyliśmy polecenia Cut, aby usunąć ostatnie 6 znaków z ciągu „Hello Linux”, a wyjście to „Hello”.
Metoda 2: Korzystanie z polecenia SED
SED to potężny edytor strumienia, którego można użyć do wykonywania różnych transformacji tekstu w pliku lub strumienia wejściowego. Aby usunąć ostatnie n znaki z ciągu za pomocą SED, możemy użyć następującej składni polecenia:
Echo „String” | sed 's/.\ n \ $ // '
Tutaj n to liczba znaków, które chcemy usunąć z końca ciągu, a poniżej jest przykład, który używa polecenia SED:
#!/bin/bash
string = "Hello Linux"
Echo „$ String” | sed 's/.\ 6 \ $ // '
W powyższym przykładzie użyliśmy polecenia SED do usunięcia ostatnich 6 znaków z ciągu „Hello Linux”, a wyjście to „Hello”.
Metoda 3: Za pomocą rozszerzenia parametrów
Rozszerzenie parametrów jest funkcją BASH, która pozwala nam manipulować wartością zmiennej. Aby usunąć ostatnie n znaki z ciągu za pomocą rozszerzenia parametru, możemy użyć następującej składni:
$ String ::-n
Tutaj zmienna ciągów zawiera rzeczywisty ciąg, z którego chcemy usunąć ostatnie n znaki, a n to liczba znaków, które chcemy usunąć.
#!/bin/bash
string = "Hello Linux"
Echo $ String ::-6
W powyższym przykładzie użyliśmy rozszerzenia parametrów do usunięcia ostatnich 4 znaków z ciągu „Hello Linux”, a wyjście to „Hello”.
Wniosek
Aby usunąć ostatnie n znaki z łańcucha w Bash, 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 dotyczących skryptów Bash. Korzystając z tych metod, możemy łatwo manipulować ciągami i wykonywać transformacje tekstowe w BASH.