"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,
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,
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,
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!