Jak przeanalizować plik podawany za pomocą „AWK”

Jak przeanalizować plik podawany za pomocą „AWK”

„Tab” jest używany jako separator w pliku podawanym TAB. Ten typ pliku tekstowego jest tworzony do przechowywania różnych rodzajów danych tekstowych w formacie ustrukturyzowanym. W Linux istnieją różne typy poleceń, aby parsować ten typ pliku. Polecenie „AWK” jest jednym ze sposobów parsowania pliku podawanego Tab na różne sposoby. Zastosowania polecenia „AWK” do odczytania pliku podsycanego przez zakładkę pokazano w tym samouczku.

Utwórz plik z tabelą:

Utwórz plik tekstowy o nazwie użytkownicy.tekst z następującą zawartością w celu przetestowania poleceń tego samouczka. Ten plik zawiera nazwę użytkownika, e -mail, nazwa użytkownika i hasło.

użytkownicy.tekst

Nazwa E -mail hasło nazwy użytkownika
MD. Robin [email protected] Robin89 563425
Nila Hasan [email protected] Nila78 245667
Mirza Abbas [email protected] Mirza23 534788
Aornob Hasan [email protected] arnob45 778473
Nuhas ahsan [email protected] Nuhas34 563452

Przykład-1: Wydrukuj drugą kolumnę pliku podawanego TAB za pomocą opcji -f

Następujące polecenie „SED” wydrukuje drugą kolumnę pliku tekstowego podawanego TAB. Tutaj '-F' Opcja służy do zdefiniowania separatora pola pliku.

Użytkownicy CAT.tekst
$ awk -f '\ t' 'drukuj 2 $ „użytkownicy.tekst

Następujące dane wyjściowe pojawią się po uruchomieniu poleceń. Druga kolumna pliku zawiera adresy e -mail użytkownika, które są wyświetlane jako wyjście.

Przykład-2: Wydrukuj pierwszą kolumnę pliku podawanego TAB za pomocą zmiennej FS

Następujące polecenie „SED” wydrukuje pierwszą kolumnę pliku tekstowego podawanego TAB. Tutaj, Fs (Separator pola) Zmienna służy do zdefiniowania separatora pola pliku.

Użytkownicy CAT.tekst
$ awk 'drukuj $ 1' fs = '\ t' użytkownicy.tekst

Następujące dane wyjściowe pojawią się po uruchomieniu poleceń. Pierwsza kolumna pliku zawiera nazwy użytkownika, które są wyświetlane jako wyjście.

Przykład-3: Wydrukuj trzecią kolumnę pliku podawanego Tab z formatowaniem

Poniższe polecenie „SED” wydrukuje trzecią kolumnę pliku tekstowego TAB-DELIMITED z formatowaniem za pomocą Fs zmienna i printf. Tutaj Fs Zmienna służy do zdefiniowania separatora pola pliku.

Użytkownicy CAT.tekst
$ awk 'start fs = "\ t" printf "%10s \ n", 3 $' Użytkownicy.tekst

Następujące dane wyjściowe pojawią się po uruchomieniu poleceń. Trzecia kolumna pliku zawiera nazwę użytkownika, która została tutaj wydrukowana.

Przykład-4: Wydrukuj trzecią i czwartą kolumny pliku podawanego TAB za pomocą OFS

OFS (separator pola wyjściowego) służy do dodania separatora pola w wyjściu. Poniższe polecenie „AWK” podzieli zawartość pliku na podstawie separatora Tab (\ t) i wydrukuje kolumny 3. i 4.

Użytkownicy CAT.tekst
$ awk -f "\ t" 'ofs = "\ t" drukuj 3 $, 4 $> (".txt ")„ użytkownicy.tekst
$ CAT Wyjście.tekst

Następujące dane wyjściowe pojawią się po uruchomieniu powyższych poleceń. Kolumny trzecie i 4. zawierają nazwę użytkownika i hasło, które zostały wydrukowane tutaj.

Przykład-5: Zastąp konkretną zawartość pliku podawanego Tab

funkcja sub () jest używana w „AWK do dowodzenia zastąpieniem. Poniższe polecenie „AWK” przeszukie numer 45 i zastąpi numer 90, jeśli numer wyszukiwania istnieje w pliku. Po podstawieniu zawartość pliku będzie przechowywana na wyjściu.plik txt.

Użytkownicy CAT.tekst
$ awk -f "\ t" 'sub (/45/, 90); print' użytkownicy.txt> wyjście.tekst
$ CAT Wyjście.tekst

Następujące dane wyjściowe pojawią się po uruchomieniu powyższych poleceń. Wyjście.Plik TXT pokazuje zmodyfikowaną treść po zastosowaniu podstawienia. Tutaj treść 5. linii zmodyfikowała, a „arnob45” jest zmieniane na „arnob90”.

Przykład-6: Dodaj ciąg na początku każdego wiersza pliku podawanego Tab

Poniżej polecenie „AWK” opcja „-f” służy do podziału zawartości pliku na podstawie zakładki (\ t). OFS użył do dodania przecinka (,) jako separatora pola w wyjściu. funkcja sub () służy do dodania ciągu '-→' na początku każdego wiersza wyjścia.

Użytkownicy CAT.tekst
$ awk -f "\ t" 'ofs = ","; sub (/^/, "---->"); Drukuj 1 USD, 2 USD, 3 użytkownicy.tekst

Następujące dane wyjściowe pojawią się po uruchomieniu powyższych poleceń. Każda wartość pola jest oddzielona przecinkiem (,), a łańcuch jest dodawany na początku każdej linii.

Przykład-7: Zastąp wartość pliku podawanego TAB za pomocą funkcji gsub ()

Funkcja gsub () jest używana w poleceniu „AWK” do globalnego podstawienia. Wszystkie wartości ciągów pliku zastąpią, gdzie pasuje wzór wyszukiwania. Główną różnicą między funkcjami sub () i gsub () jest to, że funkcja sub () zatrzymuje zadanie podstawienia po znalezieniu pierwszego dopasowania, a funkcja gsub () przeszukuje wzór na końcu pliku do podstawienia. Poniższe polecenie „AWK” przeszukie słowo „nila” i „mira” na całym świecie w pliku i zastąpi wszystkie zdarzenia tekstem „nieprawidłowa nazwa”, w którym pasuje do wyszukiwania słowo.

Użytkownicy CAT.tekst
$ awk -f '\ t' 'gsub (/nila | mira/, „nieprawidłowa nazwa”); Drukuj użytkownicy.tekst

Następujące dane wyjściowe pojawią się po uruchomieniu powyższych poleceń. Słowo „nila” istnieje dwa razy w 3. wierszu pliku, który został zastąpiony słowem „nieprawidłowa nazwa” na wyjściu.

Przykład-8: Wydrukuj sformatowaną zawartość z pliku podawanego Tab

Poniższe polecenie „AWK” wydrukuje pierwszą i drugą kolumny pliku z formatowaniem za pomocą printf. Wyjście pokaże nazwę użytkownika, obejmując adres e -mail w nawiasach.

Użytkownicy CAT.tekst
$ awk -f '\ t' 'printf "%s (%s) \ n", 1 $, 2 $ „Użytkownicy.tekst

Następujące dane wyjściowe pojawią się po uruchomieniu powyższych poleceń.

Wniosek

Wszelkie pliki podawane TAB można łatwo przeanalizować i wydrukować za pomocą kolejnego ogranicznika za pomocą polecenia „AWK”. W tym samouczku pokazano sposoby parsowania plików podsycanych zakładki i drukowania w różnych formatach. Zastosowania funkcji sub () i gsub () w poleceniu „AWK” do zastąpienia zawartości pliku podawanego TAB są również wyjaśnione w tym samouczku. Mam nadzieję, że ten samouczek pomoże czytelnikom łatwo przeanalizować plik z tabelą po prawidłowym ćwiczeniu przykładów tego samouczka.