Przykłady poleceń cięcia w systemie Linux

Polecenie `cut` w systemie Linux jest jednym z użytecznych poleceń do pracy z danymi tekstowymi i zawartością plików. Służy głównie do wycinania treści z danych tabelarycznych lub pliku CSV. Każda linia pliku może zostać podzielona na plasterki, a wymagane dane można łatwo odzyskać za pomocą polecenia „cut”. Może być również używany do wycinania tekstu za pomocą separatora lub pozycji znaku lub bajtu. To polecenie ma wiele opcji wycinania danych z tekstu lub pliku na różne sposoby. Sposób użycia polecenia cut z różnymi opcjami jest pokazany w tym samouczku na różnych przykładach.

Składnia:

cut OPCJA. ..…

Wartość OPCJI jest obowiązkowa dla polecenia `cut`, a nazwa PLIKU jest opcjonalna. Jeśli pominiesz nazwę pliku w poleceniu, pobierze dane ze standardowego wejścia. Ale jeśli pominiesz wartość OPTION w poleceniu cut, wygeneruje błąd.

Opcje:

Znacznik opcji Opis
-b lub –byte = LISTA Wybierz określone bajty.
-c lub –character = LISTA Wybierz określone znaki.
-d lub –delimiter = DELIM Wybierz wartość DELIM jako separator. Domyślnym separatorem jest TAB.
-f lub –fields = LISTA Wybierz określone pola
–complement Użyj do uzupełnienia wynik
-s lub –only-delimited Pomiń wiersze bez separatora.
–output-delimiter = STRING Użyj wartości ŁAŃCUCH jako separatora wyjścia.
-z lub –zerowy zakończony Użyj NULL jako separatora linii.

Przykład-1 : Wytnij by bajty

Następujące polecenie wytnij pokroi standardowe dane wejściowe na podstawie zdefiniowanych bajtów. Tutaj 3, 4, 5 i 6 są zdefiniowane jako bajty. Dane wyjściowe zostaną wygenerowane na podstawie standardowego wejścia. Naciśnij CTRL + D, aby wyjść z polecenia.

$ cut -b 3,4,5,6

Wynik:

Tutaj dane wejściowe to „Lubię programować”, a dane wyjściowe to „lubię” na podstawie wymienionych bajtów.

Utwórz plik tekstowy o nazwie „productlist.txt” z następującą zawartością do zastosowania polecenia „cut”. Użyj klawisza TAB, aby oddzielić pola zawartości pliku.

ID Nazwa Cena
01 Pióro 2 USD
02 Ołówek 1,5 USD
03 Gumka 1 USD

Uruchom następujące polecenie, aby pobrać tylko identyfikator produktu. Tutaj bajty są podane jako zakres, „1-2”, aby wyciąć dane.

$ cut -b 1-2 < productlist.txt

Dane wyjściowe:

Przykład-2: Wytnij według znaków

Możesz wygenerować to samo wyjście używając opcji -c, które są pokazane w poprzednich przykładach. Nie ma więc szczególnej różnicy między wyjściem -b i – c opcje polecenia cut. Uruchom następujące polecenie, aby pokazać użycie opcji -c. Tutaj 4- jest używane jako wartość opcji, która spowoduje odcięcie z pozycji 4 do wszystkich pozostałych znaków w każdym wierszu. Możesz również użyć znaku minus przed wartością, np. -4, a wtedy zostanie ona odcięta od początku do 4 pozycji.

$ cut -c 4- productlist.txt

Wyjście:

Pierwsze trzy znaki są pomijane w danych wyjściowych.

Przykład-3: Wytnij według separatora i pól

Utwórz plik CSV o nazwie „Students.csv” z następującą treścią, aby pokazać użycie separatora.

1001, Jonathan, CSE, 3.74
1002, Micheal, EEE, 3,99
1003, Asraful Haque, BBA, 3.85
1004, Momotaj Khan, English, 3.20

Uruchom następującą komendę, aby wydrukować nazwisko ucznia i CGPA z pliku Students.csv. Zgodnie z zawartością pliku, pola 2 i 4 zawierają imię i nazwisko ucznia oraz CGPA. Tak więc w tym poleceniu używane są dwie opcje, aby wyświetlić dane wyjściowe. Jednym z nich jest separator, -d, co oznacza ',' tutaj, a drugim jest opcja pola, -f.

$ cut -d „,” – f 2,4 Students.csv

Wynik:

Jeśli chcesz wydrukuj dwie lub więcej kolejnych kolumn dowolnych danych tabelarycznych lub pliku CSV, a następnie możesz zdefiniować pola jako zakres. Zakres wartości pola jest używany w następującym poleceniu. Tutaj wszystkie pola od 2 do 4 zostaną wydrukowane jako dane wyjściowe.

$ cut -d „,” -f 2-4 student.csv

Wynik:

Przykład-4: Wytnij przez dopełnienie

– opcja dopełniająca służy do wygenerowania przeciwnego wyniku polecenia . W poniższym poleceniu używany jest plik productlist.txt utworzony w pierwszym przykładzie. W tym przypadku opcja -f wytnie pierwsze pole, a opcja –-complement wydrukuje pozostałe wszystkie pola pliku, pomijając pierwsze pole.

$ cat productlist.txt
$ cut –complement -f 1 productlist.txt

Wynik:

Przykład-5: Wytnij przez separator wyjścia

Ta opcja jest używana do generowania wyniku przy użyciu określonego separatora. W następującym poleceniu używany jest wcześniej utworzony plik Students.csv. „,” Jest domyślnym separatorem każdego pliku CSV. Następujące polecenie używa znaku „:” jako wartości separatora wyjścia.

$ cat Students.csv
$ cut -d „,” -f 1- 3 Students.csv –output-delimiter = „:”

Wynik:

Po wykonaniu polecenia separator danych wejściowych „,” zostanie zastąpiony przez separator wyjścia „:”, a pierwsze trzy pola zostaną wydrukowane poprzez oddzielenie „:”.

Przykład-6: Używanie wycinania z polecenie pipe

Polecenie Wytnij może pobierać dane wejściowe z dowolnego pliku lub z danych wejściowych użytkownika. Ale tekst wejściowy można wysłać do polecenia cięcia za pomocą potoku. Poniższe polecenie pokazuje użycie polecenia wytnij z rurą. W tym przypadku polecenie echo spowoduje wycięcie tekstu wejściowego do polecenia wycięcia, a polecenie wycięcia wycina pola 2 i 3 na podstawie separatora.

$ echo „Testowanie cięcia polecenie „| cut -d „” -f 2,3

Wynik:

Przykład -7: Zapisz wynik polecenia cut do pliku

Jeśli chcesz, możesz także zapisać wynik polecenia cut w dowolnym pliku tekstowym. Następujące polecenie pobierze zawartość pliku Students.csv jako dane wejściowe, wytnie drugie pole na podstawie separatora i wydrukuje wynik w pliku tekstowym o nazwie „student_names.txt”.

Wynik:

Wniosek:

W tym samouczku próbowano wyjaśnić najczęstsze zastosowania polecenia wytnij za pomocą powyższego przykłady. Mam nadzieję, że użycie polecenia cut zostanie wyczyszczone z czytelników po przećwiczeniu powyższych przykładów.

Leave a Reply

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *