Powszechnie używana ściągawka „sed”:
Najczęściej używane znaki używane w poleceniu `sed` są wyjaśnione w poniższej tabeli.
Postać | Cel, powód |
do | Służy do dołączania treści. |
b | Służy do rozgałęziania treści. |
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 dołączania z tekstu gospodarstwa. |
h | Służy do kopiowania w tekście gospodarstwa. |
h | Służy do dołączenia do tekstu trzymającego. |
i | Służy do wstawiania. |
i | Służy do drukowania linii zastępczej. |
n | Służy do przejścia do następnej linii. |
n | Służy do dołączenia następnej linii wejściowej. |
P | Służy do drukowania. |
P | Służy do drukowania pierwszej linii. |
Co | Służy do rzucenia palenia. |
Q | Służy do natychmiastowego zakończenia. |
r | Służy do odczytywania pliku. |
r | Służy do odczytywania wiersza z pliku. |
s | Służy jako substytut. |
T | Służy do testowania substytucji. |
T | Służy do testowania braku substytucji. |
w | Służy do zapisu do pliku. |
W | Służy do napisania linii do pliku. |
x | Służy do zamiany wzorów i trzymania. |
oraz | Służy do tłumaczenia. |
z | Służy do czyszczenia linii. |
„=” | Służy do drukowania numeru linii. |
Zamień wiele wierszy za pomocą polecenia `sed` z terminala:
W tej części tego samouczka pokazano, w jaki sposób można użyć polecenia `sed` do zastąpienia wielu linii z pliku z terminala. Utwórz plik o nazwie sed.txt z następującą treścią przetestuj polecenia tej części.
sed.txt
Pełna forma sed to edytor strumieni.
Jest to narzędzie uniksowe, które służy do odczytywania i konwertowania tekstu w innym formacie.
Został opracowany przez Lee E. McMahona.
Służy do przetwarzania tekstu.
Obsługuje wyrażenia regularne.
Przykład-1: Zastąp dwie kolejne linie
Następujące polecenie `sed` zastąpi dwa kolejne wiersze innym wierszem. W tym przypadku opcja -z służy do zastąpienia kolejnych wierszy danymi o wartości null przed dodaniem tekstu zastępczego. Zgodnie z poleceniem 3r & Di 4NSwiersze pliku zostaną zastąpione tekstem, „To bardzo przydatne narzędzie” .
$Kotsed.txt$sed -z 's/It został opracowany przez Lee E. McMahona. Jest używany do tekstu
przetwarzanie./To bardzo przydatne narzędzie./'sed.txt
Poniższe dane wyjściowe pojawią się po uruchomieniu poleceń.
Przykład-2: Zamień wiele linii na podstawie dopasowania i flagi globalnej
Następujące polecenie `sed` zastąpi wszystkie linie zaczynające się słowem, 'Ono' słowem „ Ta linia jest zastąpiona „.
$Kotsed.txt$sed 's/^It.*/Ta linia jest zastąpiona/g'sed.txt
Poniższe dane wyjściowe pojawią się po uruchomieniu poleceń. Trzy wiersze zawierają słowo ‘ Ono ' w pliku. Tak więc te wiersze zostały zastąpione tekstem zastępczym.
Przykład-3: Zamień wiele wierszy na podstawie polecenia dopasowania i następnego wiersza
Następujące polecenie `sed` zastąpi słowo,’ jest ‘ słowem ‘ było ‘ z poleceniem następnego wiersza, ‘n’.
$Kotsed.txt$sed ' {n;/jest/ {s/jest/był/}}'sed.txt
Poniższe dane wyjściowe pojawią się po uruchomieniu poleceń. Tutaj, 'jest' istnieje w 2NSi 4NSwierszy pliku, a te wiersze są modyfikowane przez słowo 'było' .
Zastąp wiele wierszy, tworząc plik skryptu `sed`:
W poprzednich przykładach polecenia `sed` były wykonywane z terminala. Ale jest to język skryptowy i jeśli skrypt zawiera wiele instrukcji, lepiej jest utworzyć plik sed ze skryptem. Utwórz plik tekstowy o nazwie studenci.txt z następującą zawartością, w której zostanie zastosowany skrypt `sed`.
studenci.txt
ID: 111045Imię i nazwisko: Robert
Departament: CSE
Partia: 35
ID: 111876
Imię: Józef
Dział: BBA
Partia: 27
ID: 111346
Imię i nazwisko: William
Departament: CSE
Partia: 45
ID: 111654
Imię: Karol
Dział: EEE
Partia: 41
ID: 111346
Imię: Jan
Departament: CSE
Partia: 25
ID: 111746
Imię: Tomasz
Departament: CSE
Partia: 15
Przykład-4: Zamień wiele wierszy pliku za pomocą pliku skryptu `sed`
Utwórz plik seda o nazwie to zamień.sed z następującą treścią, aby zastąpić wiele wierszy na podstawie wzorca wyszukiwania. Tutaj słowo ‘ CSE ‘ zostanie przeszukane w pliku tekstowym, a jeśli dopasowanie istnieje, ponownie przeszuka numer 35 i 15. Jeśli w pliku istnieje drugie dopasowanie, zostanie zastąpione numerem 45.
zamień.sed
/CSE/ {p;n;
/35/ {
s/35/Cztery pięć/;
p;d;
}
/piętnaście/ {
s/piętnaście/55/;
p;d;
}
}
P;
Uruchom następujące polecenie, aby sprawdzić istniejącą zawartość pliku. „CSE” pojawiło się w pliku tekstowym czterokrotnie. 35 i 15 występują w dwóch miejscach.
$Kotstudenci.txt
Następujące polecenie zastąpi zawartość wielu linii na podstawie skryptu sed.
$sed -n -Fzamień.sed studentów.txtPoniższe dane wyjściowe pojawią się po uruchomieniu polecenia.
Wniosek
W tym samouczku pokazano różne sposoby zastępowania wielu wierszy lub zawartości wielu wierszy za pomocą polecenia `sed`. Jak skrypt `sed` może być wykonany z pliku sed jest również pokazany w tym samouczku. Mam nadzieję, że ten samouczek pomoże czytelnikowi zastąpić wiele wierszy dowolnego pliku za pomocą polecenia `sed`.