Skip to main content

Przykłady użycia polecenia Linux Sed

NYSTV - Real Life X Files w Rob Skiba - Multi Language (Może 2025)

NYSTV - Real Life X Files w Rob Skiba - Multi Language (Może 2025)
Anonim

System operacyjny Linux używa poleceń terminalowych do pracy z systemem plików komputera. Podstawowe użycie polecenia Linux sed, która jest skrótem od edytora strumieni, polega na modyfikowaniu każdej linii pliku lub strumienia przez zamianę określonych części linii. Wprowadza podstawowe zmiany tekstu do pliku lub danych wejściowych z potoku. Na przykład powiedzmy, że masz plik o nazwie "songs.text", który zawiera następujące linie:

1, Justin Timberlake, tytuł 545, cena 6,30 USD2, Taylor Swift, tytuł 723, cena 7,90 USD3, Mick Jagger, tytuł 610, cena 7,90 USD4, Lady Gaga, tytuł 118, cena 6,30 USD5, Johnny Cash, tytuł 482, cena 6,50 USD6, Elvis Presley, tytuł 335, cena 6,30 USD7, John Lennon, tytuł 271, cena 7,90 USD

Dokonywanie podstawień tekstu za pomocą Sed

Jeśli chcesz zmienić wszystkie wystąpienia cenowe od 6,30 do 7,30 USD, możesz wprowadzić zmiany za pomocą polecenia sed w następujący sposób:

sed 's / 6.30 / 7.30 /' songs.txt> songs2.txt

Ten kod wprowadza zmianę i zapisuje zmodyfikowany plik w "songs2.txt". Plik wyjściowy zawiera:

1, Justin Timberlake, tytuł 545, cena 7,30 USD2, Taylor Swift, tytuł 723, cena 7,90 USD3, Mick Jagger, tytuł 610, cena 7,90 USD4, Lady Gaga, tytuł 118, cena 7,30 USD5, Johnny Cash, tytuł 482, cena 6,50 USD6, Elvis Presley, tytuł 335, cena 7,30 USD7, John Lennon, tytuł 271, cena 7,90 USD

Jeśli chcesz zastąpić wszystkie wystąpienia "Gotówki" za pomocą "Kosza", skorzystaj z:

sed 's / Cash / Trash /' songs.txt> songs2.txt

który tworzy plik z treścią:

1, Justin Timberlake, tytuł 545, cena 7: 302, Taylor Swift, tytuł 723, cena 7,90 USD3, Mick Jagger, tytuł 610, cena 7,90 USD4, Lady Gaga, tytuł 118, cena 7: 305, Johnny Trash, tytuł 482, cena 6,50 USD6, Elvis Presley, tytuł 335, cena 7: 307, John Lennon, tytuł 271, cena 7,90 USD

Filtrowanie za pomocą komendy sed

Sed jest również często używany do filtrowania linii w pliku lub strumieniu. Na przykład, jeśli chcesz zobaczyć tylko wiersze zawierające "John", użyjesz:

sed -n '/ John / p' songs.txt> johns.txt

który pisze następujące wiersze do pliku johns.txt:

5, Johnny Trash, tytuł 482, cena 6,50 USD7, John Lennon, tytuł 271, cena 7,90 USD