Edytor Steam, skrócony jako SED, jest poleceniem używanym do znalezienia i wymiany dowolnego tekstu w pliku za pomocą różnych technik i składni. W tym poście zrozumiemy pojęcia SED i dowiemy się, jak wymienić zmienną lub jej wartość w pliku za pomocą SED.
Składnia do zastąpienia ciągu
Aby wymienić wartość zmienną za pomocą SED, najpierw musimy zrozumieć, jak działa SED i jak możemy wymienić prosty ciąg w dowolnym pliku za pomocą SED.
Aby zastąpić dowolny ciąg, składnia jest dość prosta i podana poniżej:
$ sed -i 's/old-string/new-string/g' plik_name
W tej składni wystarczy podać ciąg, który chcesz wymienić w starym ciągu, a następnie nowy ciąg w odwróconym przecinku. Następnie podaj plik, w którym chcesz znaleźć i wymienić wspomniany ciąg.
Przykład:
Załóżmy, że mamy plik tekstowy „plik.txt ”, w którym mamy losowy tekst, taki jak„ Witamy w kanale Linuxhint ”, aw tym pliku chcemy zastąpić kanał Word na stronie internetowej za pomocą polecenia SED.
plik $ cat.tekst
Polecenie do zmiany kanału na stronę internetową by się podobało:
$ sed -i 's/kanał/strona internetowa/g'.tekst
Po uruchomieniu polecenia spojrzymy na plik:
plik $ cat.tekst
Ciąg został zastąpiony za pomocą polecenia SED. Tak więc możesz znaleźć i wymienić dowolny ciąg w dowolnym pliku systemu operacyjnego Linux za pomocą polecenia SED.
Teraz nauczmy się zastąpić zmienną wartość w pliku.
Wymień zmienną
Składnia do znalezienia i wymiany wartości zmiennej w pliku za pomocą SED jest taka sama jak znalezienie i wymiana ciągu w pliku. Jedyną trudną częścią jest napisanie wyrażenia regularnego, aby znaleźć coś w pliku, aby zastąpić tę część. Tak więc, aby zmienić wartość zmiennej, składnia pójdzie w ten sposób:
$ sed -i 's/var =.*/var = new_value/'plik_name
Spójrzmy na przykład, aby zobaczyć prawdziwą implementację i zrozumieć go z większą jasnością.
Przykład:
Załóżmy, że mamy plik kodu Pythona, w którym mamy kilka zmiennych. Te zmienne mają przypisane do nich pewne wartości.
kod $ cat.py
Teraz, aby zastąpić dowolną zmienną, możemy ją wyszukać po swojej nazwie i podać nową wartość za pomocą polecenia SED podanego poniżej:
$ sed -i 's/num1 =.*/num1 = 200/'kod.py
Po wykonaniu powyższego polecenia SED ponownie wyświetlamy zawartość pliku:
kod $ cat.py
Widać, że wartość zmiennej „NUM1” została zastąpiona zgodnie z naszym wymogiem.
Za pomocą tej prostej sztuczki możesz zastąpić dowolną zmienną lub jej wartość w dowolnym pliku za pomocą SED.
Wniosek
Ten post zapewnia prosty i łatwy sposób znalezienia i wymiany zmiennej w dowolnym pliku za pomocą SED. Nauczyliśmy się wymieniać ciąg w pliku i zastępować wartość zmiennej za pomocą SED.