Łatwe sposoby odczytu dużych plików w systemie Linux
Musisz przeanalizować ogromny plik dziennika, plik tekstowy lub zbiór danych? Zdecydowanie nie jesteś sam. Obsługa dużych plików w systemie Linux może być zniechęcająca, gdy próbujesz przeglądać lub zarządzać treścią, jednocześnie kontrolując zasoby systemowe. Na szczęście istnieją różne metody odczytu dużych plików w systemie Linux, w tym narzędzia takie jak polecenie less
Vim i techniki dzielenia dokumentu na mniejsze sekcje.
W tym artykule poznasz różne techniki umożliwiające odczytywanie dużych plików lub wyodrębnianie określonych informacji w systemie Linux przy użyciu szeregu narzędzi.
Korzystanie z polecenia Less
Szukasz lekkiego narzędzia do wyświetlania zawartości dużych plików tekstowych lub wykonywania szybkich wyszukiwań? Polecenie less
jest rozwiązaniem, do którego się udasz.
Jednym z moich ulubionych aspektów tego narzędzia jest to, że w przeciwieństwie do standardowych edytorów tekstu, pozwala przeglądać pliki strona po stronie bez ładowania całego pliku do pamięci. Dzięki temu jest ono znacznie szybsze, zwłaszcza w przypadku dużych plików, i upraszcza proces przeglądania obszernych dokumentów lub dzienników.
Aby z niego skorzystać, wystarczy wpisać i less
podać nazwę pliku:
To polecenie otworzy less
interfejs, w którym możesz przewijać dokument wiersz po wierszu, używając klawiszy strzałek, lub wyszukiwać określone terminy, naciskając klawisz , a /następnie wpisując wyszukiwany termin.
Możesz również użyć less
do odczytu wyników z innych poleceń, używając operatora potoku. Na przykład, aby wyświetlić i wyświetlić dane wyjściowe polecenia ls
, użyjesz:
Polecenie less
oferuje również wiele opcji dostosowywania jego funkcjonalności. Możesz łączyć te opcje, aby dostosować sposób less
działania do swoich potrzeb.
Na przykład możesz użyć -p
opcji , less
aby wyszukać określony termin:
To polecenie otwiera dane wyjściowe i przechodzi bezpośrednio do pierwszego wystąpienia słowa sample .
Można również wyświetlać numery wierszy obok zawartości pliku, korzystając z -N
opcji:
Dzielenie plików za pomocą polecenia Split
Czasami najlepszym sposobem na poradzenie sobie z dużym plikiem jest podzielenie go na mniejsze, łatwiejsze w zarządzaniu części – szczególnie gdy chcesz czytać lub przetwarzać plik w sekcjach. Na przykład, mam tendencję do dzielenia plików, gdy ich rozmiar przekracza 1 GB lub zawiera ponad 100 milionów wierszy.
Pliki można dzielić według rozmiaru lub liczby wierszy. W przypadku plików tekstowych najlepiej jest dzielić je według wierszy, aby uniknąć cięcia słów lub wierszy na pół.
Na przykład, aby podzielić plik na podstawie określonej liczby wierszy, wykonaj to polecenie:
W tym przypadku plik „samplefile.txt” jest podzielony na wiele części, z których każda składa się z 10 000 wierszy. Powstałe pliki będą nazywane „part_aa”, „part_ab” itd. Teraz możesz otwierać i badać mniejsze segmenty pliku, nie martwiąc się o nadmierne wykorzystanie pamięci lub powolną wydajność systemu.
Jeśli chcesz podzielić duże pliki według rozmiaru, np. 100 MB, możesz wykonać to polecenie:
Korzystanie z Midnight Commandera
Midnight Commander (MC) to dwupanelowy, tekstowy menedżer plików, oferujący przyjazny użytkownikowi interfejs wizualny do nawigacji po plikach i katalogach.
MC umożliwia przeglądanie plików bezpośrednio w interfejsie, co pozwala na szybkie przewijanie dużych dzienników lub zestawów danych bez ładowania całego dokumentu do pamięci. Doceniam, jak płynnie i wydajnie MC pozwala przeglądać duże pliki.
Aby zainstalować MC, po prostu uruchom:
Uruchom go, uruchamiając mc
w terminalu. Po wejściu do środka przejdź do dużego pliku, który chcesz przeczytać i zbadaj jego zawartość.
Korzystanie z Klogg
Klogg to szybki i oparty na otwartym kodzie źródłowym GUI przeglądarka dzienników, która może wydajnie przetwarzać duże pliki. W przeciwieństwie do standardowych edytorów, które ładują cały plik do pamięci, Klogg odczytuje tylko wymagane części pliku, minimalizując wykorzystanie pamięci.
Klogg oferuje także funkcje filtrowania i wyszukiwania w czasie rzeczywistym, dzięki którym można łatwo znaleźć konkretne treści bez konieczności długiego przewijania.
Przed zainstalowaniem Klogg musisz utworzyć katalog „/etc/apt/keyrings” i dodać do niego klucz GPG. Klucz GPG jest niezbędny do walidacji repozytorium pakietów Klogg.
Aby utworzyć katalog, wykonaj:
Dodaj klucz GPG za pomocą następującego polecenia:
Następnie dodaj repozytorium Klogg do swojego systemu za pomocą polecenia curl:
Zaktualizuj swoją listę pakietów za pomocą:
Na koniec możesz zainstalować Klogga za pomocą tego polecenia:
Po zainstalowaniu wystarczy otworzyć plik za pomocą interfejsu Klogga i wykorzystać wbudowane funkcje do wyszukiwania i nawigacji po zawartości pliku.
Odczytywanie dużych plików za pomocą edytora tekstu
Chociaż wiele edytorów tekstu ma problemy z obsługą dużych plików, edytory takie jak Vim i Emacs radzą sobie z nimi efektywniej niż standardowe edytory, takie jak Nano czy Gedit.
Na przykład funkcje Vima pozwalają na nawigację po pliku i szybkie wyszukiwanie terminów bez ładowania całej zawartości do pamięci na raz. Należy jednak pamiętać, że wyszukiwania są ograniczone do sekcji pliku, które zostały już załadowane.
Aby otworzyć plik w programie Vim, uruchom:
Przeszukiwanie pliku za pomocą polecenia Grep
Jeśli chcesz znaleźć konkretne informacje w dużym pliku, użyj grep
polecenia. To potężne narzędzie umożliwia przeszukiwanie plików i wyświetlanie tylko wierszy odpowiadających zapytaniu.
Podczas przekazywania poleceń do less
, pamiętaj, że jest to tylko tymczasowe — dane wyjściowe zostaną utracone po wyjściu z less
. Aby zachować dane wyjściowe do późniejszego przeglądania, przekieruj je do pliku i otwórz za pomocą narzędzia wiersza poleceń, takiego jak less.
Na przykład, aby odfiltrować każdy wiersz zawierający słowo „ERROR” z dużego pliku, należy wykonać:
Możesz zawęzić wyszukiwanie, korzystając z dodatkowych opcji, takich jak ignorowanie wielkości liter ( grep -i
) lub wyszukiwanie tylko całych słów ( grep -w
).
Przekierowywanie wyjścia do pliku
Jeśli chcesz zapisać konkretne wyniki wyszukiwania do późniejszego przejrzenia, możesz przekierować dane wyjściowe poleceń do nowego pliku.
Na przykład wyszukaj wiersze za pomocą grep
polecenia i zapisz je w nowym pliku:
Operator >
tworzy nowy plik lub nadpisuje istniejący za każdym razem. Aby dołączyć dane do już istniejącego pliku, użyj >>
zamiast >
.
Korzystanie z poleceń Head i Tail
Podczas pracy z dużymi plikami w systemie Linux może być konieczne wyświetlenie tylko początku lub końca pliku. W tym miejscu wchodzą w grę polecenia head
i .tail
Aby wyświetlić pierwsze 20 wierszy pliku, użyj:
Podobnie, aby wyświetlić ostatnie 20 wierszy, wykonaj:
W obu przypadkach -n 20
określa, że chcesz zobaczyć tylko pierwsze lub ostatnie 20 wierszy. Możesz dostosować tę liczbę, aby wyświetlić więcej lub mniej wierszy w razie potrzeby, przy czym oba polecenia domyślnie pokazują 10 wierszy.
Łączenie tail
i head
może pomóc Ci poruszać się po określonej sekcji pliku. Aby wyświetlić wiersze 10-14 pliku 100-wierszowego, oblicz wiersz początkowy od końca, odejmując wiersz początkowy minus jeden od całkowitej liczby wierszy (100 – 9 = 91). Wykonaj następujące polecenie:
Spowoduje to wyświetlenie wierszy 10–14. Możesz sprawdzić wynik na podstawie tego, co widzisz za pomocą less
.
W przypadku ciągłej aktualizacji plików, np. plików dziennika, można tail -f
monitorować zmiany w czasie rzeczywistym.
Wniosek
Niezależnie od tego, czy analizujesz logi, pracujesz z zestawami danych, czy po prostu czytasz duży plik tekstowy, te strategie pomogą znacznie uprościć proces. Możesz również zbadać dodatkowe techniki znajdowania dużych plików w systemie Linux i przesyłania ich za pośrednictwem terminala.
Źródło obrazu: Unsplash . Wszystkie zmiany i zrzuty ekranu autorstwa Haroon Javed.
Dodaj komentarz