Jak zignorować puste linie w Grep?

Jak zignorować puste linie w Grep?
Grep oznacza Globalny wydruk ekspresji regularnej. Ma wiele funkcji, i.mi., Wyszukiwanie w pliku, wyszukiwanie tylko nazw pliku, GREP rekurencyjnie itp. GREP jest uważane za potężne polecenie w portfolio poleceń Linux, jeśli chodzi o wyszukiwanie. W wielu przypadkach napotykamy sytuacje, w których nie potrzebujemy przestrzeni lub istnieje potrzeba usunięcia niechcianych luk w naszych danych. Jednym z najtrudniejszych sposobów korzystania z GREP jest ignorowanie lub usunięcie pustych linii z pliku tekstowego. Ta procedura jest realizowana za pomocą różnych przykładów, więc przeczytaj poniżej, aby zobaczyć, jak to zrobione.

Składnia

grep [wzór] [nazwa pliku]

Po użyciu GREP pojawia się wzór. Wzór implikuje sposób, w jaki chcemy go używać do usuwania dodatkowej przestrzeni w danych. Zgodnie z wzorem opisano nazwę pliku, przez którą wykonuje się wzór.

Warunek wstępny

Aby łatwo zrozumieć przydatność GREP, musimy zainstalować Ubuntu w naszym systemie. Podaj dane użytkownika, podając nazwę użytkownika i hasło do uprawnień w dostępie do aplikacji Linux. Po zalogowaniu otwórz aplikację i wyszukaj terminal lub zastosuj klawisz skrótów Ctrl+Alt+T.

Za pomocą [: puste:] słowo kluczowe

Możesz utworzyć plik w edytorze tekstu lub z wierszem poleceń w terminalu. Aby utworzyć plik na terminalu, w tym następujące polecenia.

$ echo „tekst do wprowadzenia w pliku”> nazwa pliku.tekst

Nie ma potrzeby tworzenia pliku, jeśli jest już obecny. Wystarczy wyświetlić go za pomocą dołączonego polecenia:

$ Cat Filename.tekst

Załóżmy, że mamy plik o nazwie Bfile o rozszerzeniu tekstu. Tekst napisany w tych plikach zawiera przestrzenie między nimi, jak pokazano na poniższym rysunku.

$ echo „Nazywam się Guria.
jestem dobrym uczniem.
Czytałem w klasie 5.
mam jednego brata i jedną siostrę
moja matka jest gospodynią domową
chcę iść do szkoły
"> Bfile.tekst

Wyświetl zawartość pliku, jak pokazano poniżej:

$ cat bfile.tekst

Te puste linie można usunąć za pomocą pustego polecenia, aby zignorować puste przestrzenie między słowami lub ciągami.

$ egrep '^[: puste:]]*[^[: blank:]#]' bfile.tekst

Po zastosowaniu zapytania puste przestrzenie między liniami zostaną usunięte, a wyjście nie będzie już zawierać dodatkowej przestrzeni. Pierwsze słowo jest wyróżnione jako przestrzenie między ostatnim słowem linii i między pierwszymi słowami następnego wiersza są usuwane. Możemy również zastosować warunki do tego samego polecenia GREP, dodając tę ​​pustą funkcję, aby usunąć bezużyteczne miejsce na wyjściu.

Używając [: Space:]

Kolejny przykład ignorowania przestrzeni wyjaśniono tutaj. Najpierw utworzyć nasz plik tekstowy na terminalu:

$ echo „Nazywam się Hamna
Jestem gospodynią domową
Chcę nauczyć się programowania
mam jedną córkę
"> File20

Nie wspominając o rozszerzeniu pliku, najpierw wyświetlimy istniejący plik za pomocą polecenia.

$ cat file20

Spójrzmy na to, jak dodatkowa przestrzeń jest usuwana za pomocą polecenia GREP oprócz [: Space:] Słowo kluczowe. Opcja GREP -V pomoże wydrukować linie, które nie mają pustych linii i dodatkowych odstępów, które są również zawarte w formularzu akapitu.

$ grep -v '^[: Space:]]*$' File20

Zobaczysz, że dodatkowe linie są usuwane, a wyjście jest w sekwencji formy pod względem linii. W ten sposób metodologia GREP -V jest bardzo pomocna w uzyskaniu wymaganego celu.

Zróbmy inny przykład z następującym plikiem danych:

$ echo "GREP to wszechstronne polecenie, które pomaga nowemu użytkownikowi.
Służy do wyszukiwania nazw plików za pomocą poleceń.
Możemy udać się do ManNual, używając Grep Man
"> FileG.tekst

Wyjście jest następujące:

Stosując polecenie, nasz plik wyjściowy został uzyskany. Tutaj możemy zobaczyć dane bez odstępów między wierszami, które są zapisane.

$ grep -v '^[: space:]]*$' FileG.tekst

Oprócz długich poleceń możemy również przejść z krótkimi pisemnymi poleceniami w Linux i Unix, aby wdrożyć GREP obsługuje w nim znaki skrótów.

$ grep „\ s”.tekst

Widzieliśmy, w jaki sposób wyjście jest uzyskiwane przez zastosowanie poleceń z wejścia. Tutaj dowiemy się, w jaki sposób wkład jest utrzymywany z wyjścia.

$ grep „\ s”.TXT> TMP.txt && mv tmp.TXT FileG.tekst

Tutaj użyjemy tymczasowego pliku tekstowego z rozszerzeniem tekstu o nazwie TMP do przesyłania filtrowanej treści z powrotem do oryginalnego pliku.

Za pomocą ^#

Utwórzmy nowy plik danych, aby przetestować tę wersję składniową:

$ echo „Projektowanie graficzne to dobra platforma projektowania
i tworzenie wizytówek logosu
i plakaty itp. Photoshop
i ilustrator są używane do tego "> plikib.tekst
$ cat FileB.tekst

Plik tekstowy zawiera 4 wiersze, mając między nimi miejsce. Te linie przestrzeni można łatwo usunąć za pomocą określonego polecenia.

$ grep -ev "^#|^$" fileB.tekst

Regularne rozszerzone operacje są włączone przez -e, co pozwala na wszystkie wyrażenia regularne, zwłaszcza rurowe. Rura jest używana jako opcjonalny warunek „lub” w dowolnym wzorze.„^#”. To pokazuje dopasowanie linii tekstowych w pliku, który zaczyna się od znaku #. „^$” Będzie pasować do wszystkich darmowych przestrzeni w tekstach lub pustych liniach.

Wyjście pokazuje całkowite usunięcie dodatkowej przestrzeni między wierszami obecnymi w pliku danych. W tym przykładzie widzieliśmy, że w poleceniu, że „^#” jest najważniejszy, co oznacza, że ​​tekst jest pierwszy dopasowany. „^$” Pojawia się po | Operator, więc wolna przestrzeń jest później dopasowana.

Za pomocą ^$

Podobnie jak wspomniany powyżej przykład, będziemy mieć te same wyniki, ponieważ polecenie jest prawie takie samo. Jednak wzór jest zapisany przeciwnie. File22.TXT to plik, którego będziemy używać do usuwania przestrzeni.

$ echo „Pismo techniczne jest dobrym feildem nauki
Jest to pole analityczne
Możemy się w tym nauczyć wiele rzeczy
Pisanie biznesowe to kategoria pisania
DZIĘKUJEMU FOT UCZYTA ”> FILE22.tekst
$ grep -v '^$' file22.tekst

Stosuje się tę samą metodologię, z wyjątkiem pracy z priorytetem. Zgodnie z tym poleceniem, najpierw bezpłatne przestrzenie zostaną dopasowane, a następnie pliki tekstowe są dopasowane. Wyjście zapewni sekwencję linii, usuwając w nich dodatkowe luki.

Inne proste polecenia

Grep '^…' File22.tekst
grep '.„File22.tekst

Oba są tak proste i pomagają usunąć luki w liniach tekstowych.

Wniosek

Usuwanie bezużytecznych luk w plikach za pomocą wyrażeń regularnych jest dość łatwym podejściem do osiągnięcia płynnej sekwencji danych i utrzymania spójności. Przykłady są wyjaśnione w szczegółowy sposób, aby ulepszyć informacje dotyczące tematu.