Jaka jest opcja G w SED

Jaka jest opcja G w SED

"Termin sed jest skrótem Edytor strumienia. W UNIX/LINUX, sed Komendy analizują i przekształca strumienie (w większości przypadków teksty). Jest to narzędzie wiersza poleceń, które jest wstępnie zainstalowane w każdym systemie Unix/Linux."

W tym przewodniku zbadamy G opcja w sed.

Podstawowe użycie SED

Najczęstszym użyciem polecenia SED jest znalezienie i zastąpienie zawartości w danym strumieniu. Struktura polecenia jest następująca:

$ sed 's ///'


Spójrz na następujący przykład:

$ echo „The Quick Brown Fox” | sed 's/the/the/'



Tutaj,

    • Echo polecenie drukuje podany ciąg na Stdout. W Bash, Stdout, stdin i stdderr są wbudowanymi strumieniami danych.
    • sed użycie polecenia Stdout Jak strumień działa zgodnie z określonymi i drukuje wyjście na konsoli.

Jeśli próbujesz edytować plik tekstowy, SED nie zmieni zawartości pliku domyślnie. Ma to na celu uniknięcie przypadkowej utraty danych. Aby bezpośrednio zmienić zawartość pliku, musisz uruchomić SED z edycją na miejscu.

Opcja G w SED

Podczas znajdowania i zastępowania domyślne zachowanie sed to zakończenie swoich działań po znalezieniu pierwszej instancji. Poniższy przykład doskonale pokazuje to zachowanie:

$ echo „the the the” | sed 's/the/the/'



Tutaj,

    • Używając Echo polecenie, wiele razy przekazujemy to samo słowo „The” sed Komenda.
    • Jednak w wyjściu tylko pierwszy przypadek „The” przekształca się w „The”.

Aby poinstruować SED, aby przekształcić wszystkie pasujące instancje danego wzoru, musimy dodać opcję G. Zaktualizuj polecenie w następujący sposób:

$ echo „the the the” | sed 's/the/the/g'



Teraz wszystkie przypadki „The” są poprawnie zmienione na „The”.

Opcja G w SED

W końcu docieramy do punktu skupienia tego przewodnika. Podczas G Opcja ma zastosowanie do podstawienia tekstu, G Opcja jest używana do zupełnie innego celu.

Używając G opcja, możemy dołączyć przestrzeń do przestrzeni wzorów. Mówiąc prosto, możemy dodać nowe linie przed/po wzorze dopasowania.

Do demonstracji utworzyłem przykładowy plik tekstowy test.tekst:

kot << EOF > test.tekst

szybki
brązowy

lis
EOF


Dodatkowe odstępy

Możemy teraz wykonywać różne operacje w odstępach pliku. Na przykład, aby podwoić plik, użyj następującego polecenia:

Test $ sed g.tekst



Podobnie możemy potrójić plik:

$ sed 'g; g' test.tekst



Tutaj,

    • W obu przypadkach, ponieważ nie dostarczamy żadnego wzorca do dopasowania, sed pasuje do wszystkich tekstów w pliku.
    • sed polecenie Works line-by-line w danym strumieniu tekstu. Po dopasowaniu każdej linii (ponieważ nie podano żadnego konkretnego wzoru), dodano nową linię.

Usuwanie dodatkowych odstępów

Możemy również użyć G Opcja usuwania wszystkich pustych linii i podwójnej przestrzeni:

$ sed 'g; g' test.txt | sed '/^$/d; g'

Wkładanie pustych linii przed/po meczach

Możemy określić wzór za pomocą wyrażenia regularnego i poinformować SED, aby dodał pustą linię przed/po niej.

Pierwszym przykładem będzie dodanie pustej linii poniżej wzoru dopasowania:

$ sed '/the/g' test.tekst



Następnym przykładem będzie dodanie pustej linii nad wzorem dopasowania:

$ sed '/the/x; p; x;'.tekst



Na koniec możemy połączyć je razem, aby wstawić puste linie wokół dopasowania:

$ sed '/the/x; p; x; g;' test.tekst


Końcowe przemyślenia

W tym przewodniku z powodzeniem zademonstrowaliśmy różne sposoby korzystania z G opcja z sed Aby dodać przestrzenie w tekście. Ta technika może być przydatna w różnych sytuacjach, na przykład wyróżnienie określonych wierszy w dzienniku debugowania.

Ogromną zaletą SED jest wsparcie wyrażenia regularnego. Dowiedz się więcej o SED z Regex. Polecenie SED można również łatwo zintegrować z skontaktowaniem.

Szczęśliwy komputer!