Jak używać polecenia SED z Regex

Jak używać polecenia SED z Regex

Polecenie SED ma długą listę obsługiwanych operacji, które można wykonać w celu ułatwienia procesu edytowania plików tekstowych. Pozwala użytkownikom zastosować wyrażenia, które są zwykle używane w językach programowania; Jednym z podstawowych wyrażeń obsługiwanych jest wyrażenie regularne (Regex).

Regex służy do zarządzania tekstem w plikach tekstowych, przy pomocy Regex wzór, który składa się z ciągów, a te wzory są następnie używane do dopasowania lub zlokalizowania tekstu. Regex jest szeroko stosowany w językach programowania, takich jak Python, Perl, Java, a jego obsługa jest również dostępna dla programów wiersza poleceń, takich jak GREP i kilka edytorów tekstu, takie jak SED.

Chociaż proste wyszukiwanie i sortowanie można wykonać za pomocą polecenia SED, za pomocą Regex z SED umożliwia dopasowanie poziomu zaawansowanego w plikach tekstowych. Regex działa w kierunku używanych znaków; Te znaki prowadzą polecenie SED, aby wykonać ukierunkowane zadania. W tym artykule zademonstrujemy użycie Regex z poleceniem SED, a następnie przykłady, które pokażą zastosowanie Regex.

Jak używać Regex w SED

Ta sekcja jest podstawową częścią pisma zawierającego szczegółowe wyjaśnienie wyrażeń regularnych w kontekście SED: Zacznijmy od tego

Dopasowanie słowa

Jeśli chcesz znaleźć słowo, które dokładnie pasuje do znaków, musisz określić dokładne znaki, które pasują do słowa: na przykład mamy plik tekstowy zawierający listę producentów laptopów wymienionych jako ”Laptopy.tekst”:

Uzyskajmy zawartość pliku za pomocą wspomnianego poniższego polecenia:

Laptopy $ CAT.tekst

Użyj następującego polecenia pomoże uzyskać „Acer" słowo:

$ sed -n '/acer/p' laptopy.tekst

Dopasowanie wszystkich słów zaczyna się od określonego charakteru

Ta obsługa Regex zawiera wiele działań opisanych w tej sekcji:

Jeśli chcesz wyszukać i dopasować słowa, które zaczynają się i kończą z określoną postacią, musisz użyć „*„Podpisz między postaciami, aby to zrobić; ale zauważa się, że „*”Symbol drukuje słowa, które zaczynają się od pojedynczego lub wielokrotnego„Jak”Ale z singlem„R”: Na przykład, polecenie napisane poniżej wydrukuje wszystkie słowa, które zaczynają się od pojedynczego lub wielokrotnego„A”I kończy się singlem„R”:

$ sed -n '/a*r/p' laptopy.tekst


Aby dopasować słowo, które kończy się na określonym znaku lub zawiera tylko określony znak: Polecenie napisane poniżej wyświetli słowa z postacią „P”Lub dokładne słowo„HP”:

$ sed -n '/h \?Laptopy P/P.tekst

Dopasowanie słów do określonego charakteru

Zauważono, że możesz uzyskać słowa zawierające dowolną postać za pomocą polecenia SED: na przykład, wspomniane poniżej polecenie znajdzie słowa zawierające jeden z tych znaków „A”, „H” lub „D”:

$ sed -n '/[ahd]/p' laptopy.tekst

Dopasowanie ciągów

Możesz użyć polecenia SED z wyrażeniami regularnymi do wydrukowania strun; Możesz wydrukować wszystkie ciągi, albo możesz również kierować do określonego ciągu, używając znaku początkowego lub końcowego tego ciągu:

Użyliśmy „plik.tekst„Używać go jako przykład w tej sekcji; Ten plik zawiera następującą zawartość:

plik $ cat.tekst

Na przykład, jeśli chcesz wydrukować wszystkie struny; Poniższe polecenie pomoże ci pod tym względem:

$ sed -n '/.\+/p 'plik.tekst

Jeśli chcesz uzyskać wszystkie struny, które zaczynają się od postaci „A„Następnie musisz użyć symbolu marchewki (^) Aby wskazać początkowy znak łańcucha.

Polecenie wspomniane poniżej do wydrukowania ciągów, które zaczynają się od „@”:

$ sed -n '^@'.tekst

Ponadto, jeśli chcesz uzyskać tylko te struny, które kończą się konkretną postacią, musisz użyć „$„Z tą postacią. Na przykład, napisane tutaj polecenie wydrukuje ciągi, które kończą się „#”:

$ sed -n '/#$/p'.tekst

Dopasowanie pustych linii

Obsługa Regex polecenia SED pozwala użytkownikowi wydrukować/usuwać puste linie za pomocą „/^$/”; Następujące polecenie wydrukuje puste wiersze w „Laptopy.tekst" plik:

$ sed -n '/^$/p' laptopy.tekst

Lub możesz usunąć, zastępując „P" z "D”W powyższym poleceniu, jak pokazano poniżej:

$ sed -n '/^$/d' laptopy.tekst

Dopasowywanie listu

Polecenie SED pozwala użytkownikom manipulować słowami z określonym literą:

Na przykład możesz drukować, usuwać, zastąpić literowe słowa, używając polecenia SED:

Plik tekstowy o nazwie „test.tekst”Jest używany w tym przykładzie, zawartość tego pliku jest drukowana za pomocą następującego polecenia:

Test $ CAT.tekst

Dopasowanie małych liter

Poniższe polecenie wydrukuje wszystkie te słowa zawierające w nich litery dolnej wielkości:

$ sed -n '/[a -z]/p'.tekst

Dopasowanie wielkich liter

Lub możesz wydrukować słowa zawierające litery górnych przypadków, wydając następujące polecenie w terminalu:

$ sed -n '/[a -z]/p'.tekst

Wniosek

Wyrażenia regularne (Regex) są określane jako; Wszelkie słowo lub sekwencja znaków używanych do uzyskania pasujących słów z dowolnego pliku tekstowego. Zapewniają szerokie wsparcie dla kilku języków programowania, a także poleceń lub programów Ubuntu. Oprócz tego Regex, Ubuntu zapewnia wsparcie dla rozległych poleceń, które ułatwiają proces wykonywania żmudnych zadań. Narzędzie wiersza poleceń SED Ubuntu pozwala bardzo łatwo wykonać kilka żmudnych zadań, aby wykonać kilka operacji w plikach tekstowych. Zebraliśmy ten przewodnik, aby oświecić zalety dołączenia do Regex z SED; To wspólne przedsięwzięcie zapewnia zaawansowane dopasowanie i wyszukiwanie plików tekstowych. Wyrażenia regularne potrzebują pomocy z znaków używanych do dopasowywania do wykonywania różnych zadań, takich jak usuwanie, drukowanie, zastąpienie lub zarządzanie tekstem w plikach tekstowych.