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.