Jak wymienić wiele linii za pomocą polecenia „SED”

Jak wymienić wiele linii za pomocą polecenia „SED”
Czasami wymaga zastąpienia wielu wierszy pliku dowolnym konkretnym znakiem lub tekstem. W Linux istnieją różne polecenia, aby zastąpić wiele wierszy pliku. Polecenie „SED” jest jednym z nich do wykonania tego rodzaju zadania. Pełna forma „SED” jest edytor Steam i służy głównie do czytania i konwersji tekstu na różne sposoby, używając wyrażenia regularnego. Jak można użyć tego polecenia do wymiany wielu wierszy pliku na różne sposoby, jest wyjaśnione w tym samouczku.

Powszechnie używane ściągawki „sed”:

Najczęściej używane znaki używane w poleceniu „SED” wyjaśniono w poniższej tabeli.

Postać Zamiar
A Służy do dołączania treści.
B Służy do zawartości rozgałęzienia.
C Służy do zmiany treści.
D Służy do usuwania wiersza pliku.
D Służy do usuwania pierwszego wiersza pliku.
G Służy do kopiowania z tekstu trzymającego.
G Służy do dodatku z tekstu trzymającego.
H Służy do kopiowania w tekście trzymającym.
H Służy do dołączania do tekstu trzymającego.
I Służy do wstawienia.
I Służy do wydrukowania linii zastępczej.
N Służy do przejścia do następnej linii.
N Służy do dołączania następnej linii wejściowej.
P Służy do drukowania.
P Służy do wydrukowania pierwszej linii.
Q Służy do rezygnacji.
Q Służy do natychmiastowego odejścia.
R Służy do odczytu pliku.
R Służy do odczytu linii z pliku.
S Służy do zastąpienia.
T Służy do przetestowania podstawienia.
T Służy do testowania bez podstaw.
w Służy do zapisu do pliku.
W Służy do zapisywania wiersza do pliku.
X Służy do wymiany wzorów i trzymania.
y Służy do tłumaczenia.
z Służy do wyczyszczenia linii.
'=' Służy do wydrukowania numeru linii.

Wymień wiele linii za pomocą polecenia „SED” z terminala:

Jak można użyć polecenia „sed” do wymiany wielu wierszy z pliku z terminala, jest pokazane w tej części tego samouczka. Utwórz plik o nazwie sed.tekst z następującą testem treści polecenia niniejszej części.

sed.tekst

Pełna forma SED to „Edytor strumienia”.

Jest to narzędzie UNIX, które służy do odczytu i konwersji tekstu w innym formacie.

Został opracowany przez Lee E. McMahon.

Służy do przetwarzania tekstu.

Obsługuje wyrażenia regularne.

Przykład-1: Wymień dwie kolejne linie

Następujące polecenie „SED” zastąpi dwa kolejne wiersze inną linią. Tutaj opcja -z służy do zastąpienia kolejnych wierszy zerowymi danymi przed dodaniem tekstu zastępczego. Według polecenia 3r & D i 4th Linie pliku zostaną zastąpione tekstem, „To bardzo przydatne narzędzie”.

$ cat sed.tekst
$ sed -z 's/it został opracowany przez Lee E. McMahon.\ nit jest używany do tekstu
przetwarzanie./To bardzo przydatne narzędzie./'sed.tekst

Następujące dane wyjściowe pojawią się po uruchomieniu poleceń.

Przykład-2: Wymień wiele linii na podstawie meczu i flagi globalnej

Następujące polecenie „SED” zastąpi wszystkie wiersze, które zaczynają się od słowa, 'To' przez słowo ”Ta linia jest zastąpiona '.

$ cat sed.tekst
$ sed 's/^it.*/Ta linia została wymieniona/g 'sed.tekst

Następujące dane wyjściowe pojawią się po uruchomieniu poleceń. Trzy linie zawierają słowo 'To' w pliku. Tak więc linie te zostały zastąpione tekstem zastępczym.

Przykład-3: Wymień wiele wierszy na podstawie polecenia dopasowania i następnej linii

Następujące polecenie „sed” zastąpi słowo ”Jest„po słowie”był„Z poleceniem następnej linii” n '.

$ cat sed.tekst
$ sed 'n;/is/s/is/is/' sed sed.tekst

Następujące dane wyjściowe pojawią się po uruchomieniu poleceń. Tutaj, 'Jest' istnieje w 2Nd i 4th linie pliku, a te linie są modyfikowane przez słowo 'był'.

Wymień wiele wierszy, tworząc plik skryptu „SED”:

W poprzednich przykładach polecenia „SED” zostały wykonane z terminala. Ale jest to język skryptowy, a jeśli skrypt zawiera wiele instrukcji, lepiej jest utworzyć plik SED ze skryptem. Utwórz plik tekstowy o nazwie studenci.tekst z następującą zawartością, w której zostanie zastosowany skrypt „sed”.

studenci.tekst

ID: 111045
Imię: Robert
Departament: CSE
Partia: 35
ID: 111876
Nazwa: Joseph
Departament: BBA
Partia: 27
ID: 111346
Imię: William
Departament: CSE
Partia: 45
ID: 111654
Nazwa: Charles
Departament: EEE
Partia: 41
ID: 111346
Imię: John
Departament: CSE
Partia: 25
ID: 111746
Nazwa: Thomas
Departament: CSE
Partia: 15

Przykład-4: Wymień wiele wierszy pliku za pomocą pliku skryptu „sed”

Utwórz plik SED wymieniony zastępować.sed z następującą zawartością, aby zastąpić wiele linii na podstawie wzoru wyszukiwania. Tutaj słowo 'CSE„Zostanie wyszukiwany w pliku tekstowym, a jeśli mecz istnieje, ponownie wyszukiwał numer 35 i 15. Jeśli drugi mecz istnieje w pliku, zostanie on zastąpiony numerem 45.

zastępować.sed

/ Cse/
p; n;
/ 35/
S/35/45/;
p; d;

/ 15/
S/15/55/;
p; d;


P;

Uruchom następujące polecenie, aby sprawdzić istniejącą zawartość pliku. „CSE” pojawił się czterokrotnie w pliku tekstowym. 35 i 15 istnieją w dwóch miejscach.

$ CAT Studenci.tekst

Poniższe polecenie zastąpi zawartość wielu wierszy na podstawie skryptu SED.

$ sed -n -f wymień.SED Studenci.tekst

Po uruchomieniu polecenia pojawi się następujące dane wyjściowe.

Wniosek

W tym samouczku pokazano różne sposoby wymiany wielu linii lub zawartości wielu linii za pomocą polecenia „sed”. W tym samouczku można również wykonywać skrypt „sed” z pliku SED. Mam nadzieję, że ten samouczek pomoże czytelnikowi zastąpić wiele wierszy dowolnego pliku za pomocą polecenia „SED”.