Awk Trim Whitespace

Awk Trim Whitespace

„Pracując w branży IT, możesz natknąć się na tysiące plików zawierających wiele wierszy kodu lub ogromnych ilości danych. Chociaż same dane mogą być czynnikiem przyczyniającym się do rozmiaru pliku, białe rozprawy również znacznie łączą rozmiar. Przy zwiększonym rozmiarze pliku możesz napotkać problemy przy przechowywaniu tych plików lub przesyłaniu ich do współpracowników. Konieczne jest, aby usunąć je, aby lepiej kontrolować rozmiar pliku, ale najpierw spójrzmy, aby je szczegółowo zrozumieć."

Co to jest biała?

Whitespace to przestrzeń między dwoma znakami do wydrukowania. Może znajdować się w linii poziomej lub pionowo oddzielając. Innymi słowy, przestrzeń między słowami, dowolne puste wiersze, znacznik NBSP wraz z zakładkami można uznać za białe linie. Puste przestrzenie na początku i/lub na końcu linii są również uważane za białe linie.

Aby zachować zdrowie psychiczne, programiści kończą kod, który jest odpowiedzialny za usunięcie tych białych losów podczas przechowywania danych. Poniższe przypadki mogą skłonić do usunięcia białychprze:

  • Sformatowanie/refaktoryzacja kod źródłowych
  • Oczyść dane
  • Uprościj wszelkie wyjścia wiersza poleceń
  • Zmniejsz rozmiar pliku

Możliwe jest ręczne usunięcie białychprze, jeśli w pliku jest garść linii danych. Ale gdy plik zawiera setki linii, może być bardzo trudne do ich ręcznego usunięcia. Aby to przezwyciężyć, możemy wykorzystać wiele dostępnych narzędzi wiersza poleceń, e.G., sed, cięcie, tr i awk. Spośród nich AWK jest potężniejsze polecenie. Przeglądajmy to dalej.

Co to jest Awk?

AWK to bardzo potężny język skryptowy używany do manipulacji danymi i generowanie raportów. Komenda AWK jest skrótem pierwszych inicjałów każdego z trzech twórców Aho, Weinberger i Kerghan. AWK umożliwia użytkownikom definiowanie zmiennych, ciągów, funkcji numerycznych i operatorów arytmetycznych, a także tworzenia sformatowanych raportów, między innymi.

W tym artykule zbadamy za pomocą polecenia AWK do przycinania białych listy z plików. Po przejściu przez przewodnik będziesz wiedział, jak:

  • Przytnij wszystkie białe listy w dowolnym pliku.
  • Przytnij zarówno wiodące, jak i trapujące białe listy.
  • Przytnij wszystkie wiodące białe listy.
  • Przytnij wszystkie białe listy.
  • Wymień wiele przestrzeni na jedną przestrzeń.

Scenariusze wykazane w tym artykule są wykonywane na Ubuntu 22.04 System JAMMY Jellyfish. Polecenia te są również wykonywalne w innych dystrybucjach.

Przykładowy plik

Do tego przewodnika będziemy używać pliku tekstowego o nazwie „ASD.tekst". Zawartość symbolicznego przykładowego pliku wygląda tak:

Teraz zacznijmy.

Jak wyświetlić wszystkie białe listy w pliku?

Aby lepiej zrozumieć białe listy, najpierw zobaczmy, w jaki sposób możemy zidentyfikować białe listy w pliku. W tym celu musisz wypalić wyjście z polecenia CAT przez polecenie TR jako takie:

$ cat asd.txt | Tr „” „*” | tr „\ t” „&”

To polecenie zastąpi przestrzenie gwiazdkami i zakładkami „&” symbol. Gdy tylko to zostanie wykonane, będziesz mógł zobaczyć wszystkie białe listy w pliku jako takie:

Teraz zbadajmy użycie polecenia AWK.

Przycinanie wszystkich białej listy

W naszym pierwszym scenariuszu usuwamy wszystkie białe listy z naszego przykładowego pliku. Aby to osiągnąć, musimy przekazać wyjście polecenia CAT do polecenia AWK jako takie:

$ cat asd.txt | awk 'gsub ( / /, ""); wydrukuj '

Tutaj:

  • GSUB oznacza globalne podstawienie, stosowane do zastąpienia białej listy.
  • Podwójne cięcia do przodu ( / /) reprezentują białe znak.
  • „” Podwójne znaki cytatowe są używane do przycinania strun.

Tak więc, z powyższym poleceniem, zastępujemy wszystkie białe listy ( / /) niczym („”). Ze wyjście z powyższego polecenia widać, że wszystkie białe listy zostały usunięte.

Przycinanie wiodących i spustowych białych listy z dokumentu

Z ostatniego wyjścia widzimy, że białe linie zostały usunięte, pozostawiając za pomocą zakładek i pustych linii. Możemy zaktualizować polecenie użyte w ostatnim przykładzie, aby zająć się wiodącymi i talącymi białymi białymi wraz z zakładkami jako takie:

$ cat asd.txt | awk 'gsub (/^[\ t]+| [\ t]+$/, ""); wydrukuj '

Korzystając z elementów z wcześniejszego polecenia, możesz sprawdzić, czy wiodące i tulatowe białe listy zostały usunięte.

$ cat asd.txt | awk 'sub (/^[\ t]+| [\ t]/, ""); Drukuj '| Tr "" "*" | tr „\ t” „&”

Oto polecenia, których możesz użyć odpowiednio do usuwania tych przestrzeni osobno.

Usuwanie tylko wiodących białej listy

$ cat asd.txt | awk 'sub (/^[\ t]+/, ""); wydrukuj '

Usuwanie tylko białych listy

$ cat asd.txt | awk 'sub (/[\ t]+$/, ""); wydrukuj '

Bonus: Wymień wiele spacji na jedną przestrzeń

Aby zastąpić wiele przestrzeni jedną lub nic, możesz użyć polecenia AWK jako takiego:

$ cat asd.txt | awk 'gsub (/[]+/, ””); wydrukuj '

Korzystając z polecenia TR, widzimy, że białe listy zostały usunięte.

Wniosek

Tak więc, dzięki tym demonstracjom, zbadaliśmy różne sposoby, w których możemy użyć polecenia AWK do przycinania białej listy. Usunięcie ich może przydać się z różnych powodów.

Jeśli napotykasz jakiekolwiek problemy, nie krępuj się do nas, korzystając z sekcji komentarzy poniżej i chętnie pomożemy.