zamień ciąg tekstowy w pliku [Guide]

Ręczna edycja plików tekstowych w systemie Linux może być żmudna. Dlatego dobrze jest wiedzieć, jak szybko zamieniać ciągi tekstowe w plikach za pomocą wiersza poleceń. Jeśli jesteś nowy w Linuksie i nie wiesz, jak to zrobić, możemy pomóc! Postępuj zgodnie z instrukcjami, ponieważ pokażemy, jak zamienić ciąg tekstowy w pliku w systemie Linux!

Linux: zamień ciąg tekstowy

Zastąp ciąg tekstowy w pliku – sed

Narzędzie sed to najlepszy sposób na zastąpienie ciągu tekstowego w pliku w systemie Linux. Powód? Jest prosty w obsłudze i bardzo dobrze spełnia swoje zadanie. Sed jest zwykle wstępnie instalowany w 99% systemów operacyjnych Linux, więc nie ma potrzeby instalowania go, aby z niego korzystać.

Zastępowanie łańcucha tekstowego w pliku przez Sed wykonuje się za pomocą polecenia sed -i. Oto jak go używać. Najpierw otwórz okno terminala na pulpicie systemu Linux. Możesz otworzyć okno terminala, naciskając Ctrl + Alt + T na klawiaturze.

Gdy okno terminala będzie otwarte i gotowe do użycia, wpisz sed -i w wierszu polecenia terminala. To jest początek polecenia zamiany.

sed -i

Po wypisaniu polecenia sed -i dodaj znak „cudzysłowu”. Ten cudzysłów jest niezbędny, ponieważ cały tekst zastępowany przez sed -i musi zaczynać się po tym znaku.

sed -i '

Po pierwszym znaku „wpisz s /. Znak s / znajduje się bezpośrednio przed istniejącym tekstem, który chcesz zamienić za pomocą seda.

sed -i 's/

Teraz, gdy s / jest wpisane w wierszu poleceń terminala, czas powiedzieć sedowi, jaki tekst ma zastąpić w pliku. W tym przykładzie zastąpimy słowo „jabłko”.

sed -i 's/apple

Kiedy tekst, który chcemy zamienić, zostanie wpisany do polecenia, następnym krokiem jest wpisanie nowego tekstu, który go zastąpi. W tym przykładzie zamienimy „jabłka” na „pomarańcze”.

sed -i 's/apples/oranges

Gdy tekst, który chcemy zamienić, zostanie wpisany do polecenia (pomarańcze), zamknij polecenie za pomocą g /. G / mówi sedowi, aby zastąpił wszystkie wystąpienia tekstu (jabłka) nowym tekstem (pomarańcze). Powinien wyglądać jak na poniższym przykładzie.

Uwaga: jeśli nie chcesz zamieniać każdego tekstu w pliku (na przykład jabłka na pomarańcze), usuń g i uruchom zamiast tego jako sed -i 's / apples / oranges /’.

sed -i 's/apple/orange/g'

Na koniec powiedz sedowi, w jakim pliku znajduje się tekst, który wymaga zastąpienia. W tym przykładzie celem jest fruit.txt w katalogu domowym.

sed -i 's/apples/oranges/g' ~/fruit.txt

Naciśnij klawisz Enter, aby wykonać polecenie i zastąpić ciąg tekstowy w pliku.

Zastąp ciąg tekstowy w pliku – Perl

Innym sposobem zastąpienia ciągu tekstowego w pliku w systemie Linux jest użycie języka programowania Perl. Perl jest często używany do przetwarzania tekstu, więc naturalnie może zamieniać ciągi tekstowe w plikach i jest idealny w tym przypadku użycia.

Aby rozpocząć, upewnij się, że masz zainstalowany Perl na swoim komputerze z systemem Linux. Większość systemów operacyjnych Linux ma zainstalowany Perl. Jeśli jednak go nie masz, sprawdź stronę pomocy systemu operacyjnego, aby uzyskać informacje, jak go uruchomić.

Użycie Perla do zamiany ciągów tekstowych w pliku wymaga terminala. Otwórz terminal na pulpicie systemu Linux, naciskając Ctrl + Alt + T.na klawiaturze. Lub wyszukaj „Terminal” w menu aplikacji i uruchom go w ten sposób.

Gdy okno terminala jest otwarte i gotowe do użycia, zacznij od wpisania perl -pe w wierszu poleceń. Polecenie perl -pe jest potrzebne do zastąpienia ciągu tekstowego w pliku.

perl -pe

Po wypisaniu perl -pe w zachęcie terminala, będziesz musiał zacząć od pierwszego znaku cudzysłowu. Ten znak mówi Perlowi, gdzie w poleceniu znajduje się obszar zastępowania tekstu.

perl -pe '

Po pierwszym cudzysłowie dodaj s /, a następnie ciąg tekstu, który chcesz zamienić, i kolejny /. Na przykład, aby zastąpić słowo „jabłka” w pliku fruit.txt, należy napisać następujący tekst.

perl -pe 's/apples/

Po wpisaniu słów, które chcesz zamienić, dodaj słowo, które zastąpi istniejący tekst. Na przykład, jeśli chcesz zamienić „jabłka” w „owoce.txt” na „pomarańcze”, dodaj słowo „pomarańcze” po perl -pe 's / jabłka /, aby wyglądało to jak perl -pe’ s / jabłka / pomarańcze / .

perl -pe 's/apples/oranges/

Gdy oba ciągi tekstu znajdą się w poleceniu, musisz określić plik wejściowy, którego używa Perl. Na przykład, jeśli chcesz zamienić tekst w pliku „owoce.txt”, musisz określić go w poleceniu.

Uwaga: w tym przykładzie plik „fruit.txt” znajduje się w katalogu domowym (~ /). Pamiętaj, aby zastąpić „~ / fruit.txt” lokalizacją pliku tekstowego, aby polecenie działało.

perl -pe 's/apples/oranges/' ~/fruit.txt

Teraz, gdy plik wejściowy (plik, który modyfikujesz za pomocą Perla) jest dodany do polecenia, polecenie powinno wyglądać tak, jak poniżej.

perl -pe 's/apples/oranges/' ~/fruit.txt > /tmp/output.txt;cat /tmp/output.txt > ~/fruit.txt

Po uruchomieniu powyższego polecenia ciąg tekstowy zostanie zastąpiony nowym określonym tekstem. W naszym przykładzie zamieniliśmy „jabłka” na „pomarańcze”. Aby zobaczyć zmiany, wprowadź poniższe polecenie.

cat fruit.txt