MC, 2025
Ilustracja do artykułu: Polecenie linux cut: Jak manipulować danymi tekstowymi w terminalu

Polecenie linux cut: Jak manipulować danymi tekstowymi w terminalu

Praca w terminalu w systemie Linux może wydawać się czasami przytłaczająca, zwłaszcza gdy musisz przetwarzać duże ilości danych tekstowych. Na szczęście, Linux oferuje mnóstwo prostych, ale potężnych narzędzi, które mogą ułatwić tę pracę. Jednym z takich narzędzi jest polecenie linux cut, które pozwala na wydzielanie określonych części tekstu w plikach lub strumieniach danych. Dziś przyjrzymy się temu poleceniu i pokażemy, jak możesz wykorzystać je do efektywnego zarządzania danymi. Zaczynajmy!

Co to jest polecenie linux cut?

Polecenie cut w systemie Linux służy do wycinania (czyli wydzielania) określonych kolumn lub fragmentów danych z plików tekstowych lub innych strumieni danych. Może być użyteczne, gdy pracujesz z plikami, które zawierają wiele kolumn, jak na przykład pliki CSV, logi serwerów, czy dane w formacie TSV (Tab Separated Values).

Przy pomocy polecenia cut możemy łatwo wyodrębniać określone pola z danych, niezależnie od tego, czy są one rozdzielone spacjami, tabulatorami, czy innymi znakami. Jest to bardzo pomocne w analizie i obróbce dużych zestawów danych, szczególnie w pracy z logami systemowymi, danymi użytkowników, czy wynikami różnych narzędzi.

Składnia polecenia cut

Podstawowa składnia polecenia cut wygląda następująco:

cut [opcje] [plik]

Oczywiście, zamiast podać nazwę pliku, możemy także użyć potoku (pipe) do przekazania danych z innych poleceń. Polecenie cut ma szereg opcji, które pozwalają na precyzyjne określenie, które części danych mają zostać wycięte. Poniżej przyjrzymy się najczęściej używanym opcjom.

Podstawowe opcje polecenia cut

Oto najważniejsze opcje, które możesz użyć w połączeniu z poleceniem cut:

  • -d – Określa separator (domyślnie jest to tabulator). Możesz użyć tej opcji, aby określić, jaki znak będzie dzielił kolumny w danych.
  • -f – Określa numery pól, które chcesz wyodrębnić. Możesz podać jedno pole, zakres, lub nawet kilka pól oddzielonych przecinkami.
  • -c – Określa numery znaków, które chcesz wyciąć z wierszy. Możesz podać zakres znaków, które mają zostać wycięte.
  • -s – Sprawia, że polecenie cut zignoruje linie, które nie zawierają separatora.

Teraz, kiedy już znamy podstawy, czas na przykłady!

Przykład 1: Wycinanie kolumn w pliku tekstowym

Załóżmy, że masz plik dane.txt, który zawiera dane w postaci rozdzielonej spacjami, jak w poniższym przykładzie:

Jan Kowalski 12345
Anna Nowak 67890
Piotr Wiśniewski 11223

Jeśli chcesz wyciąć tylko pierwszą kolumnę (imiona), użyj następującego polecenia:

cut -d ' ' -f 1 dane.txt

Wynik będzie wyglądał następująco:

Jan
Anna
Piotr

W tym przykładzie używamy opcji -d do określenia, że spacją oddzielamy poszczególne kolumny, a następnie za pomocą -f 1 wskazujemy, że chcemy wyciąć tylko pierwszą kolumnę.

Przykład 2: Wycinanie wielu kolumn

Możesz także wyciąć więcej niż jedną kolumnę w tym samym czasie. Na przykład, jeśli chcesz wyciąć zarówno imiona, jak i nazwiska z pliku dane.txt, użyj następującego polecenia:

cut -d ' ' -f 1,2 dane.txt

Wynik będzie wyglądał tak:

Jan Kowalski
Anna Nowak
Piotr Wiśniewski

W tym przypadku za pomocą -f 1,2 określamy, że chcemy wyciąć pierwszą i drugą kolumnę z każdego wiersza.

Przykład 3: Wycinanie znaków z wierszy

Czasami może być konieczne wycięcie konkretnego zakresu znaków w każdym wierszu. Załóżmy, że mamy plik data.txt o następującej treści:

1234567890
abcdefghij
0987654321

Jeśli chcemy wyciąć pierwsze 5 znaków z każdego wiersza, używamy polecenia:

cut -c 1-5 data.txt

Wynik:

12345
abcde
09876

W tym przykładzie opcja -c 1-5 mówi, że chcemy wyciąć tylko znaki od 1 do 5 z każdego wiersza.

Przykład 4: Ignorowanie wierszy bez separatora

Jeśli chcesz, aby polecenie cut ignorowało wiersze, które nie zawierają separatora, możesz użyć opcji -s. Załóżmy, że masz plik, w którym niektóre wiersze nie zawierają separatora:

Jan Kowalski 12345
Anna Nowak
Piotr Wiśniewski 11223

Jeśli chcesz wyciąć tylko te wiersze, które zawierają separator (spację), użyj:

cut -d ' ' -f 1,2 -s dane.txt

Wynik:

Jan Kowalski
Piotr Wiśniewski

Jak widać, wiersz bez separatora ("Anna Nowak") został pominięty.

Przykład 5: Używanie polecenia cut z potokiem (pipe)

Jedną z najbardziej przydatnych funkcji polecenia cut jest jego integracja z innymi poleceniami za pomocą potoków. Załóżmy, że chcesz wyświetlić tylko pierwsze kolumny wyników polecenia ps, które pokazuje uruchomione procesy:

ps aux | cut -d ' ' -f 1,11

To polecenie wyświetli tylko nazwy użytkowników oraz polecenia uruchomionych procesów.

Wskazówki i triki z poleceniem cut

  • Używaj cut w połączeniu z innymi poleceniami: Możesz łączyć cut z grep, sort, czy awk, aby jeszcze bardziej precyzyjnie analizować dane.
  • Używaj różnych separatorów: Możesz używać różnych separatorów, takich jak tabulatory (-d '\t') lub znaki specjalne (np. przecinki w plikach CSV).
  • Używaj opcji -c z precyzyjnym zakresem: Możesz wycinać dane z plików w bardzo precyzyjny sposób, wskazując konkretne numery znaków.

Podsumowanie

Polecenie cut w systemie Linux to jedno z tych narzędzi, które mogą naprawdę przyspieszyć Twoją pracę z danymi tekstowymi. Dzięki niemu możesz w prosty sposób wydzielać kolumny, fragmenty tekstu czy nawet konkretne znaki z dużych plików lub wyników innych poleceń. W tym artykule omówiliśmy podstawowe opcje polecenia oraz pokazaliśmy kilka praktycznych przykładów, które pomogą Ci w codziennej pracy. Teraz, kiedy znasz już możliwości polecenia cut, możesz wykorzystać je do efektywnego zarządzania danymi w systemie Linux!

Więc do dzieła – wycinaj, manipuluj i ciesz się porządkiem w swoich plikach tekstowych!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: