Podstawowe operacje na plikach tekstowych z poziomu wiersza poleceń / terminala systemu Linux.
Edycja / wyświetlanie zawartości pliku
echo – wyświetlenie tekstu na ekran
echo > nazwa_pliku – wprowadzenie tekstu jako zawartość pliku, w przypadku jeśli nie istnieje – utworzenie pliku
echo >> nazwa_pliku – dopisanie tekstu na koniec pliku tekstowego
cat – wyświetlenie zawartości pliku
cat --help
Składnia: cat [OPCJA]... [PLIK]...
PLIK lub połączenie PLIKÓW wysyłane na standardowe wyjście.
Jeżeli nie został podany PLIK albo podany jest jako -, czytane jest
standardowe wejście.
-A, --show-all równoważne -vET
-b, --number-nonblank numerowanie niepustych linii na wyjściu,
wyłącza -n
-e równoważne -vE
-E, --show-ends wypisanie $ na końcu każdej linii
-n, --number numerowanie wszystkich linii na wyjściu
-s, --squeeze-blank nigdy więcej niż jedna pusta linia
-t równoważne -vT
-T, --show-tabs wypisanie znaków TAB jako ^I
-u (ignorowane)
-v, --show-nonprinting użycie zapisu ^ i M-, oprócz LFD i TAB
--help wyświetlenie tego opisu i zakończenie
--version wyświetlenie informacji o wersji i zakończenie
nano – edytor tekstu
Skróty klawiszowe w nano widoczne są na dole zrzutu ekranu.
Przykładowe zastosowanie:
Lewy Ctrl+O Zapisz
Lewy Ctrl+X Wyjdź
Przykładowo:
student@student:~/Pulpit$ echo "supertajny tekst" > plik1
student@student:~/Pulpit$ cat plik1
supertajny tekst
student@student:~/Pulpit$ touch plik2
student@student:~/Pulpit$ nano plik2
student@student:~/Pulpit$ cat plik2
Litwo! Ojczyzno moja! Ty jesteś jak zdrowie. Ile cię trzeba.
Po wielu kosztach i z nich wzory zmieniano wiarę, mowę, prawa i kiedy do ojca Podkomorzego, Mościwego Pana Mówiąc.
Stojąc i mądrych przedmiotach o nim szedł z wojażu upodobał mury tłumacząc, że przeniosłem stoły z Wysogierdem Radziwiłł z Tadeuszem idą pod Napoleonem, demokrata przyjechał zawczora.
Kusego, albo człowiek uczy ważyć, jak młódź lubi zagadki. Roztargniony, do woli nagadać nie chciał wiedzieć, skąd są, z.
Uciszcie się! woła. Marząc i znowu jak na tem gadać u Woźnego lepiej się na urząd wielkie polowanie.
Praga już zjechał z nich i, czyje były, odgadywał. Przypadkiem oczy swe znajome dawne. też znacznie chartom.
Zwrócona na pamiątkę, że w skroń ucałowawszy, uprzejmie pozdrowił. A choć zawsze i dworskich ciurów. Żaden.
Ojcze Robaku ciszej rzekł do wojska sposobić, Że Bonapart figurka! Bez Suworowa to mówiąc, że po wielu latach pierwszy raz wraz.
Któż by nie był, gdy wyszedł z której ramię z nowych gości. W mym domu ziemię orzę gdy z jej pełnienie!.
Młodzież poszła do Ojczyzn pierwszy raz zawitała moda i nazwisko każdego wodza legijonu i on w tabakierę.
more – wyświetlenie zawartości pliku po jednym ekranie terminala naraz
head [-n] plik – wyświetla n pierwszych linii pliku
tail [-n] plik – wyświetla n ostatnich linii pliku
wc plik – statystyki pliku
wc --help
Składnia: wc [OPCJA]... [PLIK]...
albo: wc [OPCJA]... --files0-from=P
Dla każdego PLIKU wypisywana jest liczba znaków nowej linii, słów i bajtów
oraz podsumowanie jeżeli podany jest więcej niż jeden PLIK. Jeżeli PLIK nie
jest podany albo podany jest jako -, czytane jest standardowe wejście.
Słowem jest niezerowej długości napis ograniczony przez znaki odstępu.
Jeżeli nie został podany PLIK albo podany jest jako -, czytane jest
standardowe wejście.
Poniższe opcje mogą być użyte do wybrania liczników, które zawsze są
podawane w następującym porządku: znak nowej linii, liczba słów, znaków,
bajtów, maksymalna długość linii.
-c, --bytes wypisanie liczby bajtów
-m, --chars wypisanie liczby znaków
-l, --lines wypisanie liczby znaków nowej linii
--files0-from=PLIK pliki wejściowe są PLIKU, oddzielone NUL-ami
Jeżeli PLIK to -, nazwy czytane są ze
standardowego wejścia
-L, --max-line-length wypisanie maksymalnej szerokości ekranu
-w, --words wypisanie liczby słów
--help wyświetlenie tego opisu i zakończenie
--version wyświetlenie informacji o wersji i zakończenie
Przykładowo:
student@student:~/Pulpit$ head -2 plik2
Litwo! Ojczyzno moja! Ty jesteś jak zdrowie. Ile cię trzeba.
Po wielu kosztach i z nich wzory zmieniano wiarę, mowę, prawa i kiedy do ojca Podkomorzego, Mościwego Pana Mówiąc.
student@student:~/Pulpit$ tail -2 plik2
Któż by nie był, gdy wyszedł z której ramię z nowych gości. W mym domu ziemię orzę gdy z jej pełnienie!.
Młodzież poszła do Ojczyzn pierwszy raz zawitała moda i nazwisko każdego wodza legijonu i on w tabakierę.
student@student:~/Pulpit$ wc plik2
10 184 1215 plik2
diff plik1 plik2 – lista różnic pomiędzy plikami
student@student:~/Pulpit$ cp plik2 plik3
student@student:~/Pulpit$ echo "dopisek" >> plik3
student@student:~/Pulpit$ diff plik2 plik3
10a11
> dopisek
Wyszukiwanie tekstu z grep
Polecenie grep umożliwia przeszukiwanie plików tekstowych w poszukiwaniu określonych wzorców. Jest to niezwykle przydatne, gdy chcemy szybko odnaleźć interesujące nas informacje w dużych plikach lub zestawach plików.
Przykład użycia:
grep "szukany_tekst" nazwa_pliku
To polecenie przeszuka plik nazwa_pliku
i wypisze wszystkie linie zawierające frazę „szukany_tekst”.
Edycja strumieniowa z sed
sed to edytor strumieniowy, który pozwala na modyfikację zawartości plików „w locie”. Dzięki niemu możesz np. zastąpić wszystkie wystąpienia konkretnego tekstu innym ciągiem znaków.
Przykład użycia:
sed 's/stary_tekst/nowy_tekst/g' nazwa_pliku
Powyższe polecenie zastąpi w pliku nazwa_pliku
każdy występujący ciąg „stary_tekst” na „nowy_tekst”.
Przetwarzanie danych z awk
awk to potężne narzędzie do analizy i przetwarzania danych zapisanych w plikach tekstowych. Umożliwia operacje na poszczególnych kolumnach danych, co jest szczególnie przydatne przy pracy z danymi tabelarycznymi.
Przykład użycia:
awk '{print $1}' nazwa_pliku
To polecenie wyświetli pierwszą kolumnę z każdego wiersza pliku nazwa_pliku
.
Sortowanie i usuwanie duplikatów
Często przydaje się uporządkowanie zawartości pliku oraz eliminacja powtarzających się linii. Do tego celu używa się poleceń sort i uniq.
Przykłady:
sort nazwa_pliku
uniq nazwa_pliku
Możesz również połączyć oba polecenia, aby najpierw posortować dane, a następnie usunąć duplikaty:
sort nazwa_pliku | uniq
Translacja znaków z tr
Polecenie tr służy do translacji lub usuwania określonych znaków w strumieniu danych. Jest przydatne np. do zmiany wielkości liter w pliku.
Przykład użycia:
tr 'a-z' 'A-Z' < nazwa_pliku
Polecenie to konwertuje wszystkie małe litery na wielkie w pliku nazwa_pliku
.
Wygodniejsze przeglądanie z less
Choć Twój artykuł wspomina o more, warto znać również less – polecenie, które umożliwia bardziej zaawansowane przewijanie i wyszukiwanie w plikach. Less pozwala na przewijanie w obu kierunkach oraz dynamiczne wyszukiwanie wewnątrz pliku.
Przykład użycia:
less nazwa_pliku
Łączenie poleceń za pomocą potoków
Linux oferuje możliwość łączenia wielu poleceń przy pomocy operatora potoku (|
). Dzięki temu wynik jednego polecenia może stać się wejściem dla kolejnego, co umożliwia tworzenie bardzo złożonych operacji.
Przykład:
grep "wzorzec" nazwa_pliku | wc -l
W tym przypadku grep wyszukuje linie zawierające „wzorzec”, a wc -l zlicza ich liczbę.