Cut Command in Linux
Spisu treści:
- Jak korzystać z polecenia Wytnij
- Jak ciąć według pola
- Jak ciąć w oparciu o ogranicznik
- Jak uzupełnić wybór
- Jak określić separator wyjściowy
- Jak ciąć według bajtów i znaków
- Wytnij przykłady
- Uzyskaj listę wszystkich użytkowników
- Zobacz 10 najczęściej używanych poleceń
- Wniosek
Istnieje wiele narzędzi dostępnych w systemach Linux i Unix, które umożliwiają przetwarzanie i filtrowanie plików tekstowych. Wytnij to narzędzie wiersza polecenia, które umożliwia wycinanie części wierszy z określonych plików lub danych potokowych i drukowanie wyniku na standardowe wyjście. Można go używać do wycinania części linii według separatora, pozycji bajtu i znaku.
W tym samouczku pokażemy, jak korzystać z polecenia cięcia systemu Linux poprzez praktyczne przykłady i szczegółowe objaśnienia najczęściej używanych opcji cięcia.
Jak korzystać z polecenia Wytnij
Składnia polecenia cut jest następująca:
cut OPTION……
Korzystając z polecenia cięcia, musisz użyć jednej i tylko jednej z następujących opcji:
-
-f
(--fields=LIST
) - Wybierz, określając pole, zestaw pól lub zakres pól. Jest to najczęściej używana opcja.-b
(--bytes=LIST
) - Wybierz, określając bajt, zestaw bajtów lub zakres bajtów.-c
(--characters=LIST
) - Wybierz, określając znak, zestaw znaków lub zakres znaków.
Inne opcje to:
-
-d
(--delimiter
) - Podaj separator, który będzie używany zamiast domyślnego separatora „TAB”. - uzupełnienie - uzupełnij wybór. Podczas korzystania z tej opcji cut wyświetli wszystkie bajty, znaki lub pola z wyjątkiem wybranych.-s
(--only-delimited
) - Domyślnie cut wypisze każdą linię, która nie zawiera znaku ogranicznika. Podczas korzystania z tej opcji cięcie nie drukuje linii nie zawierających ograniczników.--output-delimiter
- Domyślnie używany jest separator wejściowy jako separator wyjściowy. Ta opcja pozwala określić inny ciąg ogranicznika wyjściowego.
Polecenie cut może przyjmować zero lub więcej wejściowych nazw PLIKÓW. Jeśli nie określono PLIKU lub gdy PLIK jest ustawiony na
-
, cięcie odczyta standardowe wejście.
Argument LIST przekazany do opcji
-f
,
-b
i
-c
może być liczbą całkowitą, wieloma liczbami całkowitymi oddzielonymi przecinkami, zakresem liczb całkowitych lub wieloma zakresami liczb całkowitych oddzielonymi przecinkami. Każdy zakres może być jednym z następujących:
-
N
te pole, bajt lub znak, zaczynając od 1.N-
od N-tego pola, bajt lub znak, do końca linii.NM
od N-tego do M-tego pola, bajtu lub znaku.-M
od pierwszego do Mth pola, bajtu lub znaku.
Jak ciąć według pola
Polecenie Wytnij służy głównie do wyświetlania wybranych pól z każdego wiersza plików lub standardowego wejścia. Jeśli nie jest określony, domyślnym ogranicznikiem jest „TAB”.
W poniższych przykładach użyjemy następującego pliku. Wszystkie pola są oddzielone tabulatorami.
test.txt
245:789 4567 M:4540 Admin 01:10:1980 535:763 4987 M:3476 Sales 11:04:1978
Aby wyświetlić 1. i 3. pole, użyj:
cut test.txt -f 1, 3
245:789 M:4540 535:763 M:3476
Lub jeśli chcesz wyświetlać od 1 do 4 pola:
cut test.txt -f -4
245:789 4567 M:4540 Admin 535:763 4987 M:3476 Sales
Jak ciąć w oparciu o ogranicznik
Aby wycinać na podstawie ogranicznika, użyj opcji
-d
, a następnie ogranicznika, którego chcesz użyć.
Na przykład, aby wyświetlić 1. i 3. pole za pomocą „:” jako separatora, wpisz:
cut test.txt -d ':' -f 1, 3
245:4540 Admin 01 535:3476 Sales 11
Jako separatora możesz użyć dowolnego pojedynczego znaku. W poniższym przykładzie używamy spacji jako separatora i wypisujemy drugie pole:
echo "Lorem ipsum dolor sit amet" | cut -d ' ' -f 2
Jak uzupełnić wybór
Aby uzupełnić listę pól wyboru, użyj opcji
--complement
. Spowoduje to wydrukowanie tylko tych pól, które nie są zaznaczone opcją
-f
.
Następujące polecenie wydrukuje wszystkie pola oprócz 1. i 3.:
cut test.txt -f 1, 3 --complement
4567 Admin 01:10:1980 4987 Sales 11:04:1978
Jak określić separator wyjściowy
Aby określić separator wyjściowy, użyj opcji
--output-delimiter
. Na przykład, aby ustawić ogranicznik wyjściowy na
_
, należy użyć:
cut test.txt -f 1, 3 --output-delimiter='_'
Jak ciąć według bajtów i znaków
Zanim przejdziemy dalej, rozróżnijmy bajty od znaków.
Jeden bajt ma 8 bitów i może reprezentować 256 różnych wartości. Podczas ustanawiania standardu ASCII uwzględniono wszystkie litery, cyfry i symbole niezbędne do pracy z językiem angielskim. Tabela znaków ASCII ma 128 znaków, a każdy znak jest reprezentowany przez jeden bajt. Kiedy komputery stały się popularne na całym świecie, firmy technologiczne zaczęły wprowadzać nowe kodowanie znaków dla różnych języków i dla języków, które mają więcej niż 256 znaków, proste odwzorowanie 1 do 1 nie było możliwe. Prowadzi to do różnych problemów, takich jak udostępnianie dokumentów lub przeglądanie stron internetowych, dlatego potrzebny był nowy standard Unicode, który może obsługiwać większość światowych systemów pisania. UTF-8 został stworzony, aby rozwiązać te problemy. W UTF-8 nie wszystkie znaki są reprezentowane 1 bajtem. Znaki mogą być reprezentowane przez 1 bajt do 4 bajtów.
W poniższych przykładach używamy znaku
ü
który zajmuje 2 bajty.
Użyj opcji
-b
(
--bytes
), aby wyciąć odcinek linii, określając pozycję bajtu.
Wybierz 5 bajt:
echo 'drüberspringen' | cut -b 5
b
Wybierz 5, 9 i 13 bajtu:
echo 'drüberspringen' | cut -b 5, 9, 13
bpg
Wybierz zakres od 1 do 5 bajtu:
echo 'drüberspringen' | cut -b 1-5
drüb
W chwili pisania tego artykułu wersja cut zawarta w jądrach GNU nie ma opcji cięcia według znaków. Podczas korzystania z opcji
-c
cięcie zachowuje się tak samo, jak podczas korzystania z opcji
-b
.
Wytnij przykłady
Polecenie wycinania jest zwykle używane w połączeniu z innymi poleceniami poprzez potokowanie. Oto kilka przykładów.
Uzyskaj listę wszystkich użytkowników
Dane wyjściowe polecenia
getent passwd
są przekazywane do
cut
które drukuje 1. pole przy użyciu
:
jako separatora.
getent passwd | cut -d ':' -f1
Zobacz 10 najczęściej używanych poleceń
W poniższym przykładzie cut służy do usuwania pierwszych 8 bajtów z każdego wiersza danych wyjściowych polecenia
history
.
history | cut -c8- | sort | uniq -c | sort -rn | head
Wniosek
Do tej pory powinieneś dobrze rozumieć, jak korzystać z polecenia cięcia systemu Linux. Chociaż bardzo przydatne, polecenie cięcia ma pewne ograniczenia. Nie obsługuje określania więcej niż jednego znaku jako ogranicznika i nie obsługuje wielu decymetrów.
przeciąć terminalPolecenie echa w systemie Linux z przykładami
Polecenie echo jest jednym z najbardziej podstawowych i często używanych poleceń w systemie Linux. Argumenty przekazywane do echa są wypisywane na standardowe wyjście.
Polecenie tee systemu Linux z przykładami
Polecenie tee odczytuje ze standardowego wejścia i zapisuje jednocześnie zarówno standardowe wyjście, jak i jeden lub więcej plików. Trójnik jest najczęściej używany w połączeniu z innymi poleceniami za pomocą rurociągów.
Polecenie ip systemu Linux z przykładami
Polecenie ip to potężne narzędzie do konfigurowania interfejsów sieciowych. Można go używać do zwiększania lub zmniejszania interfejsów, przypisywania i usuwania adresów i tras, zarządzania pamięcią podręczną ARP i wielu innych.