piątek,
Linux: Wyświetlanie dużych plików
Wyświetlanie dużych plików w systemie Linux może być wykonywane przy użyciu kilku różnych poleceń, zależnie od potrzeb. W przypadku przeglądania plików o bardzo wielu wierszach zwykle preferowany jest 'less', ponieważ pozwala na szybsze nawigowanie i wyszukiwanie treści bez konieczności wczytywania całego pliku do pamięci. Inne polecenia będą lepsze w przypadku filtrowania plików.
Przydatne polecenia
more
– pozwala na przeglądanie pliku strona po stronie, możesz poruszać się do przodu, ale nie ma możliwości cofania się, aby użyćmore
, wpiszmore nazwa_pliku
;less
– bardziej zaawansowane niżmore
, pozwala na przewijanie pliku w obu kierunkach (do przodu i do tyłu) oraz wyszukiwanie tekstu, aby użyćless
, wpiszless nazwa_pliku
;head
– okazuje pierwsze linie pliku (domyślnie pierwsze 10), można to dostosować, używając opcji-n
, na przykładhead -n 20 nazwa_pliku
wyświetli pierwsze 20 linii;tail
– pokazuje ostatnie linie pliku (również domyślnie 10), podobnie jakhead
, posiada opcję-n
, która pozwala określić liczbę linii do wyświetlenia, np.tail -n 20 nazwa_pliku
wyświetli ostatnie 20 linii, jest szczególnie użyteczne do śledzenia zmian w plikach rejestrujących bieżące operacje (logach);- zless i zmore – używane do przeglądania skompresowanych plików (np. .gz), działają podobnie do ich standardowych odpowiedników (less, more), ale mogą czytać skompresowane pliki bez konieczności ich dekompresji;
- awk – choć głównie jest narzędziem do przetwarzania i analizy tekstu, może być używane także do wyświetlania określonych części dużych plików tekstowych;
- sed – podobnie jak awk, sed jest potężnym narzędziem do manipulowania tekstem, które może być używane do przeglądania dużych plików, choć głównie służy do ich edycji;
- grep – używane głównie do wyszukiwania określonego tekstu w plikach lub strumieniach danych.
Przykłady użycia poleceń
Poniższa demonstracja użycia poleceń head
, tail
, awk
, sed
i grep
w Linuxie pokazuje ich różne zastosowania, w tym określanie początku i liczby wierszy oraz filtrowanie danych. Każde z tych poleceń ma wiele innych opcji i możliwości, które można dostosować do konkretnych potrzeb. Przykłady pokazują tylko podstawowe użycie.
Polecenie head
Wyświetl pierwsze 10 wierszy pliku:
head plik.txt
Wyświetl pierwsze 20 wierszy pliku:
head -n 20 plik.txt
Polecenie tail
Wyświetl ostatnie 10 wierszy pliku:
tail plik.txt
Wyświetl ostatnie 20 wierszy pliku:
tail -n 20 plik.txt
Polecenie awk
Wyświetl pierwsze 10 wierszy pliku:
awk 'NR <= 10' plik.txt
Wyświetl wiersze od 10 do 20:
awk 'NR >= 10 && NR <= 20' plik.txt
Wyświetl każdy wiersz z jego numerem:
awk '{print NR, $0}' plik.txt
Polecenie sed
Wyświetl tylko 10 pierwszych wierszy pliku:
sed -n '1,10p' plik.txt
Polecenie grep
Polecenie grep
w Linuxie można wykorzystać do wyświetlania nie tylko wierszy pasujących do wzorca, ale także do wyświetlania określonej liczby wierszy przed lub po pasującym wierszu. Te opcje są szczególnie przydatne, gdy chcesz zrozumieć kontekst pasujących wierszy w plikach logów lub w dużych plikach danych.
Wyszukaj wiersze zawierające słowo "wzór":
grep 'wzór' plik.txt
Wyszukaj wiersze zawierające słowo "wzór" i wyświetl ich numery:
grep -n 'wzór' plik.txt
Wyszukaj wiersze niezawierające słowa "wzór":
grep -v 'wzór' plik.txt
Wyświetl wiersze pasujące do wzorca oraz dwa kolejne wiersze:
grep -A 2 'wzorzec' plik.txt
-A 2
oznacza, że grep
wyświetli 2 wiersze po każdym wierszu, który pasuje do wzorca 'wzorzec'
.
Wyświetl wiersze pasujące do wzorca oraz dwa poprzedzające wiersze:
grep -B 2 'wzorzec' plik.txt
-B 2
sprawia, że grep
pokaże 2 wiersze przed każdym pasującym do wzorca.
Wyświetl wiersze pasujące do wzorca, dwa poprzedzające wiersze i dwa kolejne wiersze:
grep -C 2 'wzorzec' plik.txt
'-C 2' jest używane do wyświetlenia dwóch wierszy przed i dwóch wierszy po każdym pasującym wierszu.