Co to jest wbudowane NR AWK?

Co to jest wbudowane NR AWK?
AWK to bardzo potężny język skryptowy, którego można używać bezpośrednio z terminalu Linux. Działa poprzez przekazanie poleceń, na których działa Twój system. Ten język scenariusza ma szereg różnych wbudowanych specjalnych zmiennych, a celem tego artykułu jest rozmowa o jednej z tych specjalnych zmiennych, a następnie jego wykorzystania. Ta zmienna nazywa się „NR”. Przeglądajmy dalej, w jaki sposób możemy skorzystać z tej zmiennej w AWK.

Co to jest wbudowane NR AWK?

„NR” to specjalna wbudowana zmienna AWK, która oznacza „liczbę rekordów”. Ta zmienna służy do radzenia sobie z liczbą rekordów obecnych w określonych plikach.

Przykłady korzystania z wbudowanego AWK NR w Ubuntu 20.04:

Aby dowiedzieć się dalej o korzystaniu z wbudowanej AWK NR, będziesz musiał przejść przez następujące przykłady, które zostały wdrożone na Ubuntu 20.04 System. Jednak przed wypowiedzeniem o tych przykładach chcielibyśmy udostępnić Ci przykładowy plik tekstowy, który stworzyliśmy w naszym katalogu domowym nazwiskowanym nazwiskom.tekst. Ten plik zawiera nazwiska kilku osób, a następnie ich wieki. Będziemy używać tego samego pliku tekstowego do demonstrowania wszystkich czterech przykładów. Ten plik tekstowy jest następujący:

Przykład nr 1: Wyświetlanie numerów linii z rekordami w pliku tekstowym:

W tym przykładzie chcemy wyświetlić wszystkie rekordy naszego pliku tekstowego docelowego, aby każdy rekord został przypisany określonym numerem wiersza po kolejności rosnącej. Zauważyłbyś powyżej, że plik tekstowy, którego używamy, zawiera pewne rekordy, ale nie były one bez numerów linii. Ponadto rekordy tutaj odnoszą się do różnych wierszy tekstu obecnego w pliku tekstowym. Na przykład, jeśli plik tekstowy ma pięć różnych wierszy, powiemy, że ma pięć różnych rekordów. Aby umożliwić wyżej wymienione stwierdzenie, ja.mi., Wyświetl numery wierszy wraz z rekordami naszego pliku tekstowego docelowego, wykonamy następujące polecenie w naszym terminalu:

$ awk 'drukuj nr, 0 $'.tekst

W tym poleceniu słowo kluczowe „AWK” poinformuje nasz system, że próbujemy uruchomić polecenie za pomocą języka skryptu AWK. Następnie mamy polecenie „Wydrukuj”, a następnie słowo kluczowe „NR” i zmienną specjalną „0 USD”. Teraz ta część polecenia będzie służyć celowi wyświetlania numerów linii wraz z rekordami obecnymi w naszym docelowym pliku tekstowym. Na koniec podaliśmy nazwę naszego pliku tekstowego docelowego w tym poleceniu, aby można go było łatwo odczytać. Wykonaliśmy to polecenie, po prostu naciskając klawisz Enter.

Możesz łatwo zobaczyć na terminalu, który w wyniku wykonania tego polecenia, zawartości naszego docelowego pliku tekstowego, i.mi., Wszystkie rekordy naszego pliku tekstowego były wyświetlane wraz z ich odpowiednimi numerami linii, jak pokazano na poniższym obrazku:

Przykład nr 2: Wyświetlanie rekordów pliku tekstowego leżącego w określonym zakresie:

Czasami nie chcesz, aby wszystkie rekordy pliku były wyświetlane lub przetwarzane dalej; Zamiast tego chcesz używać rekordów, które leżą w określonym zakresie. Dlatego w tym przykładzie chcemy, aby wszystkie docelowe rekordy plików tekstu były wyświetlane na terminalu, który leży w naszym określonym zakresie numerów linii. Aby to zrozumieć, najpierw musisz spojrzeć na następujące polecenie, które zostanie wykorzystane do obsługi tego celu:

$ awk 'nr == 4, nr == 8 print nr, $ 0'.tekst

W tym poleceniu słowo kluczowe „AWK” poinformuje nasz system, że próbujemy uruchomić polecenie za pomocą języka skryptu AWK. Następnie mamy instrukcję „nr == 4, nr == 8 ', która określa zakres rekordów, które należy wyświetlić, i.mi., Korzystając z tego konkretnego stwierdzenia, nasze rekordy z numerów linii 4 do 8 (włącznie) zostaną wyświetlone na terminalu. Możesz zdefiniować ten zakres zgodnie z własnym wyborem. Następnie mamy polecenie „Wydrukuj”, a następnie słowo kluczowe „NR” i zmienną specjalną „0 USD”. Teraz ta część polecenia będzie służyć celowi wyświetlania numerów linii wraz z określonymi rekordami obecnymi w naszym docelowym pliku tekstowym. Na koniec podaliśmy nazwę naszego pliku tekstowego docelowego w tym poleceniu, aby można go było łatwo odczytać. Wykonaliśmy to polecenie, po prostu naciskając klawisz Enter.

Możesz łatwo wizualizować na terminalu, który w wyniku wykonania tego polecenia, konkretnej zawartości naszego pliku tekstowego, i.mi., Wszystkie rekordy naszego pliku tekstowego leżące w określonym zakresie były wyświetlane wraz z ich odpowiednimi numerami linii, jak pokazano na poniższym obrazku:

Przykład nr 3: Wyświetlanie numerów linii z określonymi rekordami w pliku tekstowym oddzielonym przez specjalny symbol „-”:

Aby zawartość pliku tekstowego może być bardziej czytelna, możesz oddzielić numery linii od rekordów za pomocą dowolnego specjalnego symbolu. Ponadto możesz chcieć wyświetlania określonej kolumny wszystkich rekordów. Zaprojektowaliśmy ten przykład, aby opracować metodę wyświetlania numerów linii z określoną kolumną rekordów pliku tekstowego oddzielonego przez symbol specjalny „-”. Aby osiągnąć tego rodzaju dane wyjściowe, będziesz musiał wykonać następujące polecenie:

$ awk 'print nr „-”, 1 $.tekst

To polecenie jest prawie podobne do polecenia, które wykonaliśmy dla naszego pierwszego przykładu. Jednak jedyną różnicą jest to, że określiliśmy w nim separator „-”. Ponadto, zamiast korzystać z zmiennej specjalnej „0 USD”, skorzystaliśmy ze specjalnej zmiennej „1 USD”, która określi, że tylko pierwsza kolumna wszystkich rekordów plików tekstowych wymaga wydrukowania.

W wyniku pokazanym poniżej widać, że wyświetlono tylko pierwszą kolumnę wszystkich rekordów naszego pliku tekstowego; Jednak liczby linii były ładnie oddzielone od rekordów za pomocą specjalnego symbolu „-”.

Przykład nr 4: Wyświetlanie całkowitej liczby rekordów w pliku tekstowym:

Czasami możesz po prostu chcieć, aby całkowita liczba rekordów pliku była wyświetlana na terminalu. W tym celu musisz po prostu wykonać następujące polecenie:

$ awk 'end print nr' nazwy.tekst

W tym poleceniu słowo kluczowe „END” poinformuje system, że musi tylko policzyć liczbę rekordów pliku tekstowego, a instrukcja „wydruku NR” poinformuje system, aby wydrukował całkowitą liczbę rekordów na terminalu.

Wiemy, że mieliśmy w sumie 10 rekordów w naszym docelowym pliku tekstowym, a to jest również weryfikowane na podstawie wyjścia wyżej wymienionego polecenia pokazanego na poniższym obrazku:

Wniosek:

Ten artykuł otworzył krótkie wprowadzenie do języka skryptu AWK. Sednem tego przewodnika polegał na nauczeniu korzystania z „NR” Specjalnej zmiennej wbudowanej AWK. Najpierw podaliśmy przegląd tej specjalnej zmiennej, a następnie cztery różne przykłady, z pomocą, które możesz zrozumieć jej użycie. Po przejrzeniu tych przykładów będziesz w dobrej pozycji, aby skutecznie wykorzystać tę specjalną zmienną w AWK.