przykłady grup przechwytywania

przykłady grup przechwytywania
Operacje obsługi plików tekstowych odgrywają istotną rolę w codziennym życiu użytkownika komputera, aby zajmować się tekstem, jest powszechna wśród użytkowników wszystkich zawodów. Linux i jego dystrybucje zapewniają różnorodne narzędzia i narzędzia wiersza poleceń w celu uzyskania dostępu do plików tekstowych i zarządzania nimi, takich jak domyślny edytor, VIM, Nano. Narzędzia te pomagają w edytowaniu, usuwaniu, zastąpieniu, tekstu w plikach tekstowych; Jednak użytkownicy muszą otworzyć plik za pomocą dowolnego z tych redaktorów i ręcznie wykonać zmiany, które należy wprowadzić.

Istnieje inny znany redaktor znany jako „Edytor strumieniowy (SED)”; SED Linia poleceń Ubuntu zapewnia szeroką obsługę zarządzania plikami tekstowymi; To narzędzie znajduje się w najwyższych redakcjach ze względu na oferowane zaawansowane funkcje. Przyczyną jego popularności jest operacja polecenia jednego wiersza: co oznacza, że ​​może zarządzać plikami tekstowymi za pomocą terminalu, a użytkownicy nie muszą otwierać i ręcznie edytować żadnego pliku tekstowego. Grupa przechwytywania odnosi się do kolejnej zaawansowanej funkcji tego narzędzia; Funkcja przechwytywania grupy SED pozwala użytkownikowi uzyskać określoną część pliku tekstowego lub wiersza. W tym szczegółowym przewodniku krótko opisaliśmy koncepcję grupowania przechwytywania, jej pracy i użycia z SED.

Najpierw otrzymamy głęboki wgląd w grupy przechwytywania, a następnie przejdziemy do jego użycia z SED:

Więc zacznijmy dzisiejszy przewodnik:

Jak działają grupy przechwytujące

Jak omówiono powyżej, grupy przechwytywania są konkretną częścią dowolnego wiersza lub pliku tekstowego. Za grupami przechwytywania może istnieć jeden z następujących celów:

  • Aby uchwycić informacje
  • Manipuluj tekstem dla konkretnego dopasowania

Można go użyć do uzyskania informacji wskazujących, przeszukując określoną część w pliku tekstowym, a także operacje manipulacji można również wykonać na tym konkretnym dopasowaniu.

Jak sprawić, by grupy przechwytywania za pomocą polecenia SED w Ubuntu

Grupy przechwytywania w SED są tworzone przez zastosowanie nawiasu do wyrażeń regularnych lub operacji, którą użytkownik chce wykonać. Na przykład, aby zrobić grupy przechwytywania, musisz umieścić w nawiasach „\ (” na początku i „\)” na końcu określonego wyrażenia regularnego:

Krótko mówiąc, grupa przechwytywania jest używana do przyjmowania określonej części linii, pliku tekstowego, a następnie wykonywania operacji w tej grupie:

Nadchodzące przykłady pokazują użycie grup przechwytywania za pomocą polecenia SED; Przykłady różnią się w zależności od poziomu.

Schwytanie pojedynczej grupy za pomocą polecenia SED

Polecenie napisane poniżej uchwyci słowo „Cześć”, A następnie wymień słowo występujące po nim („ ”sed!") z "Linuxhint”: Być może zauważyłeś, że grupa przechwytywania jest zamknięta w wyrażeniu nawiasu„ \(" I "\)".

$ echo hello sed! |. sed 's/\ (hello \) sed!/\ 1 Linuxhint/'

Schwytanie wielu grup za pomocą polecenia SED

Polecenie SED pozwala uchwycić wiele grup, a następnie wykonać operację w tej grupie. Na przykład, wspomniane poniżej polecenie przechwyci i wydrukuje tylko wybrane grupy. Zauważono, że grupy przechwytywania można wywołać, przypisując im nazwę zamówienia:

W części Echo tego polecenia umieszczono trzy rozkłady i ma nadrzędny Linux, i.mi., Łącznie cztery wpisy: Jednak w poleceniu SED nazywamy tylko 1,2 i 3 grupy w odwrotnej kolejności. Wyjście pokazuje, że tylko trzy grupy są drukowane w odwrotnej kolejności, a „Fedora„Utrzymuje swoją pierwotną pozycję:

$ echo Ubuntu Debian Linux Fedora | sed 's/\ (ubuntu \) \ (debian \) \ (Linux \)/\ 3 \ 2 \ 1/'

Schwytanie grup złożonych wyrażeń

Powiedzmy, że mamy wyrażenie zawierające alfanumeryczne słowa kluczowe; Musimy tworzyć grupy, a następnie wydrukować je w dowolnej (odwrotnej/normalnej) kolejności. Polecenie podane poniżej pokazuje, że wyrażenie zawiera alfanumeryczne słowa kluczowe; Zrobiliśmy grupy wszystkich trzech alfanumerycznych słów, a następnie wyświetliśmy te słowa w odwrotnej kolejności:

Notatka: To samo polecenie można użyć, zastępując „\w\w*" z "[[: alnum:] _] \ 1, \”:

$ echo Linuxhint 123 Capture_groups | sed 's/\ (\ w \ w*\) \ (\ w \ w*\) \ (\ w \ w*\)/\ 3 \ 2 \ 1/'

Powyższe polecenie zawiera grupy przechwytujące „\(\w W*\)”; Działają one na alfanumeryczne słowa kluczowe. Możesz wykonać powyższe polecenie za pomocą klasy postaci alfanumerycznej jako grupy przechwytywania. Na przykład, wspomniane poniżej polecenie da to samo wyjście, gdy alfanumeryczna klasa znaków jest używana jako grupa przechwytywania:

$ echo Linuxhint 123 Capture_groups | sed 's/\ ([: alnum:] _] \ 1, \ \) \ ([: alnum:] _] \ 1, \ \) \ ([: alnum:] _] \ 1, \ \)/\ 3 \ 2 \ 1/'

Wniosek

Narzędzie wiersza poleceń SED zapewnia szczegółowe wskazówki dotyczące plików tekstowych za pomocą terminalu wiersza poleceń; Ten redaktor może być trudny do obsługi, ale podczas wykopania się w szczegółach będziesz łatwo zrozumieć i zastosować. Ponadto jego zaawansowane funkcje ułatwiają proces manipulowania i zarządzania plikami tekstowymi; Jak wyrażenia regularne i przechwytywanie grup. W tym artykule przyciągnęliśmy koncepcję grup przechwytywania w SED; i pod warunkiem dokładnego użycia, odnosząc się do kilku przykładów. Grupy przechwytywania są dość przydatne, zwłaszcza gdy masz bardzo duże pliki tekstowe i chcesz zidentyfikować określone treści z tych plików.