Jak usunąć ostatnie n znaków z łańcucha w Bash

Jak Usunac Ostatnie N Znakow Z Lancucha W Bash



Bash to popularny język skryptowy powłoki, który jest szeroko stosowany w systemach operacyjnych opartych na systemach Linux i Unix. Jednym z typowych zadań w skryptach Bash jest manipulowanie ciągami znaków. Czasami konieczne staje się usunięcie ostatnich n znaków z łańcucha. W tym artykule omówimy kilka metod Bash służących do usuwania ostatnich n znaków z łańcucha.

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”.



  Graficzny interfejs użytkownika, tekst Opis generowany automatycznie





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”.

  Graficzny interfejs użytkownika, tekst Opis generowany automatycznie

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/bash

strunowy = „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”.

  Graficzny interfejs użytkownika, tekst Opis generowany automatycznie

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.