Jak wymienić jedną postać na drugą - Bash

Jak wymienić jedną postać na drugą - Bash
W skryptach BASH często zastępuje jeden znak inną postacią w ciągu, ponieważ może to być przydatne do przetwarzania danych, manipulacji tekstem i wielu innych przypadków użycia. Na szczęście Bash przedstawia kilka wbudowanych metod do robienia tego i w tym artykule omówimy niektóre z najczęstszych sposobów wymiany postaci w skrypcie Bash.

Jak zastąpić jedną postać drugą w skrypcie Bash

Zastąpienie jednej postaci drugiem. Oto trzy łatwe sposoby zastąpienia jednej postaci drugą w skrypcie Bash:

  • Poprzez polecenie TR
  • Poprzez polecenie SED
  • Poprzez rozszerzenie parametru

Jak wymienić jeden znak na drugą za pomocą polecenia TR w Bash

Polecenie TR jest prostym narzędziem do tłumaczenia, usuwania lub wyciskowania znaków w ciągu. Można go użyć do zastąpienia jednej postaci drugą poprzez określenie znaków do wymiany i ich wymiany, oto składnia do korzystania z tego polecenia:

tr '' '

Tutaj dla ilustracji Jeśli wziąłem ciąg „Hello Linux” i jeśli chcę zastąpić wielką literę L wielką literą W, można to zrobić za pomocą polecenia TR w ten sposób:

Echo „Hello Linux” | tr 'l' w '

Oto pełny kod BASH, który pokazuje, jak używać polecenia TR do zastąpienia jednej postaci drugą:

#!/bin/bash
Main_String = "Hello Linux"
Eksport New_String = $ (echo "$ main_string" | tr 'l' 'w')
echo „main_string:” $ main_string
echo „Modified_String:” $ new_String

Oto wyjście dla skryptu Bash, L jest zastępowany W:

Jak wymienić jeden znak na drugą za pomocą polecenia SED w Bash

Innym sposobem na zastąpienie postaci inną postacią w Bash jest użycie polecenia SED. Polecenie SED to edytor strumienia, który może wykonywać różne operacje w ciągu ciągu, w tym substytucję. Oto składnia do użycia tego polecenia do zastąpienia jednej postaci drugą:

sed 's /// g'

Tutaj dla ilustracji, jeśli wziąłem ciąg „Hello Linux” i chcę zastąpić małą literę „L” na „W”, można to zrobić za pomocą polecenia TR:

Echo „Hello Linux” | sed 's/l/w/g'

Oto pełny kod bash, który pokazuje, jak używać polecenia SED do zastąpienia jednej postaci drugą:

#!/bin/bash
Main_String = "Hello Linux"
New_string = $ (echo "$ main_string" | sed 's/l/w/g')
echo „main_string:” $ main_string
echo „Modified_String:” $ new_String

W tym przykładzie używamy polecenia ECHO do wyświetlenia ciągu „Hello Linux”, a następnie kierowania wyjściem do polecenia SED. Polecenie SED używa komendy podstawienia, aby zastąpić wszystkie wystąpienia litery „L” literą „W”. Opcja G na końcu polecenia mówi SED, aby zastąpił wszystkie wystąpienia znaku w ciągu, a nie tylko pierwsze występowanie. Wynikami tego polecenia będzie „Hello Winux”:

Jak wymienić jeden znak na inny za pomocą rozszerzenia parametrów w Bash

Innym sposobem na zastąpienie postaci inną w Bash, możesz być używanie rozszerzenia parametru, a oto przykład zastępujący „L” oryginalnego ciągu będzie „W” nową postać:

#!/bin/bash
Main_String = "Hello Linux"
New_string = "$ main_string // l/w"
echo „main_string:” $ main_string
echo „Modified_String:” $ new_String

W tym przykładzie używamy rozszerzenia parametrów do zastąpienia wszystkich wystąpień małej litery „H” literą „S” w zmiennej Main_String. Wynikami tego polecenia będzie „Hello Winux”:

Wniosek

Istnieje kilka sposobów na zastąpienie postaci inną postacią w Bash, w tym za pomocą polecenia TR, polecenia SED i rozszerzenia parametru. Każda metoda ma swoje własne zalety i wady, więc wybierz ten, który najlepiej działa na konkretny przypadek użycia, ponieważ ten przewodnik podaje wszystkie trzy metody, aby to zrobić.