Polecenie wycinania w systemie Linux to polecenie służące do wycinania sekcji z każdej linii plików i zapisywania wyniku na standardowym wyjściu. Można go używać do wycinania części linii według pozycji bajtu, znaku i pola. Polecenie wycinania przecina linię i wyodrębnia tekst. Konieczne jest określenie opcji za pomocą polecenia, w przeciwnym razie wyświetli się błąd. W przypadku podania więcej niż jednej nazwy pliku, dane z każdego pliku nie są poprzedzane jego nazwą.
Spis treści
- Składnia polecenia cięcia
- Opcje Dostępne w poleceniu cięcia
- Praktyczne przykłady polecenia cięcia
- Wyodrębnij określone bajty (-b) za pomocą polecenia wycinania
- Wytnij po znaku (-c) Za pomocą polecenia wycinania
- Wytnij według pola (-f) Za pomocą polecenia wycinania
- Uzupełnij dane wyjściowe (–uzupełnij) za pomocą polecenia wycinania
- Ogranicznik wyjścia (–ogranicznik wyjścia) Korzystanie z polecenia wycinania
- Wersja wyświetlacza (–wersja) Korzystanie z polecenia wycinania
- Jak używać ogona z rurami (|) w poleceniu cięcia
- Często zadawane pytania dotyczące polecenia cięcia w systemie Linux – często zadawane pytania
Składnia polecenia cięcia
Podstawowa składniacut>polecenie to:
cut OPTION... [FILE]...>
Gdzie
`OPTION`> określa pożądane zachowanie
` FILE> `>reprezentuje plik wejściowy.
Notatka : JeśliFILE>nie jest określony, ` cut`> czyta ze standardowego wejścia (stdin).
Opcje Dostępne w poleceniu cięcia
Oto lista najczęściej używanych opcji z rozszerzeniem ` cut`> Komenda:
| Opcja | Opis |
|---|---|
| -b, –bajty=LISTA | Wybiera tylko bajty określone w |
| -c, –znaki=LISTA | Wybiera tylko znaki określone w |
| -d, –delimiter=PODZIEL | Używa |
| -f, –pola=LIS | Wybiera tylko pola określone w |
| -N | Nie dziel znaków wielobajtowych (bez efektu, chyba że |
| -komplement | Odwróć wybór pól/znaków. Wydrukuj niewybrane pola/znaki. |
Praktyczne przykłady polecenia cięcia
Rozważmy dwa pliki posiadające nazwę stan.txt I kapitał.txt zawiera odpowiednio 5 nazw stanów i stolic Indii.
$ cat state.txt Andhra Pradesh Arunachal Pradesh Assam Bihar Chhattisgarh>
Bez określonej opcji wyświetla błąd.
$ cut state.txt cut: you must specify a list of bytes, characters, or fields Try 'cut --help' for more information.>
Wyodrębnij określone bajty (-b>) Używając polecenia wycinania
-b(bajt): Aby wyodrębnić określone bajty, należy zastosować opcję -b z listą numerów bajtów oddzielonych przecinkami. Zakres bajtów można również określić za pomocą łącznika (-). Konieczne jest określenie listy numerów bajtów, w przeciwnym razie wystąpi błąd.
Tabulatory i backspace są traktowane jak znak 1-bajtowy.
Lista bez zakresów :
cut -b 1,2,3 state.txt>

lista bez zakresu
Lista z zakresami:
cut -b 1-3,5-7 state.txt>

lista z zakresem
Używa specjalnego formularza do wybierania bajtów od początku do końca linii:
Formularz specjalny: Wybieranie bajtów od początku do końca linii
W tym przypadku 1- wskazuje od pierwszego bajtu do bajtu końcowego linii
cut -b 1- state.txt>

specjalny formularz z opcją -b
W tym przypadku -3 wskazuje od 1. do 3. bajtu linii
cut -b -3 state.txt>

formularz specjalny -b opcja
Wytnij według znaku (-c>) Używając polecenia wycinania
-c (kolumna): Aby wyciąć według znaku, użyj opcji -c. Spowoduje to wybranie znaków podanych w opcji -c. Może to być lista liczb oddzielonych przecinkami lub zakres liczb oddzielonych łącznikiem (-).
Tabulatory i backspace są traktowani jak postać. Konieczne jest określenie listy numerów znaków, w przeciwnym razie przy tej opcji wystąpi błąd.
Składnia:
cut -c [(k)-(n)/(k),(n)/(n)] filename>
Tutaj, k oznacza pozycję początkową znaku i N oznacza końcową pozycję znaku w każdym wierszu, jeśli k I N są oddzielone przez - w przeciwnym razie są to tylko pozycje znaku w każdej linii pliku wziętego jako dane wejściowe.
Wyodrębnij określone znaki:
cut -c 2,5,7 state.txt>

Wyodrębnij określone znaki
Powyższe polecenie wycinania wypisuje drugi, piąty i siódmy znak z każdej linii pliku.
Wyodrębnij pierwsze siedem znaków:
cut -c 1-7 state.txt>

Wyodrębnij pierwsze siedem znaków
Powyższe polecenie wycinania wypisuje pierwsze siedem znaków każdej linii z pliku. Cut używa specjalnego formularza do wybierania znaków od początku do końca linii:
Formularz specjalny: Wybieranie znaków od początku do końca linii
cut -c 1- state.txt>

wybieranie znaków od początku do końca linii za pomocą opcji -c
Powyższe polecenie wypisuje zaczynając od pierwszego znaku do końca. Tutaj w poleceniu podana jest tylko pozycja początkowa, a pozycja końcowa jest pomijana.
cut -c -5 state.txt>

wybieranie znaków od początku do końca linii za pomocą opcji -c
Powyższe polecenie wypisuje pozycję początkową do piątego znaku. Tutaj pozycja początkowa jest pomijana i określana jest pozycja końcowa.
Cięcie według pola (-f>) Używając polecenia wycinania
-f (pole): -c opcja jest przydatna w przypadku linii o stałej długości. Większość plików uniksowych nie ma linii o stałej długości. Aby wyodrębnić przydatne informacje, należy podzielić je na pola, a nie kolumny. Lista podanych numerów pól musi być oddzielona przecinkiem. Zakresy nie są opisywane opcją -f . cięcie wykorzystuje patka jako domyślny ogranicznik pola, ale może również współpracować z innym ogranicznikiem za pomocą -D opcja.
Notatka: Spacja nie jest uważana za ogranicznik w systemie UNIX.
Składnia:
cut -d 'delimiter' -f (field number) file.txt>
Wyodrębnij pierwsze pole:
Jak w pliku stan.txt pola oddzielane są spacją, jeśli nie zostanie użyta opcja -d, wówczas wypisuje całą linię:
cut -f 1 state.txt>

Wyodrębnij pierwsze pole za pomocą opcji -f
Jeśli ` -d` używana jest opcja, wówczas uważa się spację za separator lub ogranicznik pól:
cut -d ' ' -f 1 state.txt>

spacja jako separator lub ogranicznik pola
Wyodrębnij pola od 1 do 4:
Polecenie wypisuje pole od pierwszej do czwartej każdej linii z pliku.
cut -d ' ' -f 1-4 state.txt>

Polecenie wypisuje pole od pierwszego do czwartego
Uzupełnij wynik (--complement>) Używając polecenia wycinania
-komplement: Jak sama nazwa wskazuje uzupełnia on wyjście. Opcji tej można używać w połączeniu z innymi opcjami z -F lub z -C .
cut --complement -d ' ' -f 1 state.txt>

-komplement
cut --complement -c 5 state.txt>

-komplement
Ogranicznik wyjściowy (--output-delimiter>) Używając polecenia wycinania
–ogranicznik wyjścia: Domyślnie ogranicznik wyjściowy jest taki sam, jak ogranicznik wejściowy, który określamy w cięciu -D opcja. Aby zmienić ogranicznik wyjściowy, użyj opcji –output-delimiter=separator .
cut -d ' ' -f 1,2 state.txt --output-delimiter='%'>

Tutaj polecenie wycinania zmienia ogranicznik (%) na standardowym wyjściu pomiędzy polami określonymi za pomocą opcji -f.
Wersja wyświetlacza (--version>) Używając polecenia wycinania
-wersja: Ta opcja służy do wyświetlenia wersji programu Cut, która jest aktualnie uruchomiona w Twoim systemie.
cut --version>

wyświetl wersję polecenia wycinania
Jak używać ogona z rurami (|) w poleceniu cięcia
Polecenie wycinania można połączyć z wieloma innymi poleceniami systemu UNIX. W poniższym przykładzie wyjście kot polecenie jest podawane jako dane wejściowe do cięcie polecenie z -F możliwość sortowania nazw stanów pochodzących z pliku state.txt w odwrotnej kolejności.
cat state.txt | cut -d ' ' -f 1 | sort -r>

użycie ogona z rurą (|) w poleceniu cięcia
Można go również połączyć z jednym lub większą liczbą filtrów w celu dodatkowego przetwarzania. Podobnie jak w poniższym przykładzie używamy poleceń cat, head i cut, których dane wyjściowe są przechowywane w nazwie pliku list.txt za pomocą dyrektywy (>).
cat state.txt | head -n 3 | cut -d ' ' -f 1>lista.txt>
cat list.txt>

wyszukiwanie liniowe w Javie
przekierowywanie danych wyjściowych do innego pliku
Często zadawane pytania dotyczące polecenia cięcia w systemie Linux – często zadawane pytania
Jak korzystać z cut> polecenie wyodrębnienia określonych kolumn z pliku?
Przykład: Aby wyodrębnić pierwszą i trzecią kolumnę z pliku CSV o nazwie ` data.csv`> .
cut -d',' -f1,3 data.csv>
Mogę uzyć cut> wyodrębnić zakres znaków z każdej linii?
Tak, możesz. Aby wyodrębnić znaki od 5 do 10 z każdej linii pliku o nazwietext.txt>.
cut -c5-10 text.txt>
Jak mogę zmienić ogranicznik używany przez cut> Komenda?
Użyj ` -d`> opcja, po której następuje znak ogranicznika. Na przykład, aby użyć dwukropka (:>) jako ogranicznik.
cut -d':' -f1,3 data.txt>
Czy można skorzystać cut> wyodrębnić pola na podstawie pozycji znaku?
Tak, możesz określić pozycje znaków za pomocą ` -c`> opcja. Na przykład, aby wyodrębnić znaki od 1 do 5 i od 10 do 15 z każdej linii.
cut -c1-5,10-15 data.txt>
Jak używać cut> wyodrębnić pola na podstawie określonego ogranicznika i zapisać je w nowym pliku?
Aby wyodrębnić pola oddzielone przecinkami i zapisać je w nowym pliku o nazwie ` output.tx> t`>
cut -d',' -f1,3 data.csv>wynik.txt>
Wniosek
W tym artykule omówiliśmy ` cut`> polecenie w systemie Linux, które jest wszechstronnym narzędziem do wyodrębniania określonych sekcji z plików na podstawie pozycji bajtu, znaku lub pola. Kroi wiersze tekstu i wyświetla wyodrębnione dane. Brak określenia opcji zcut>polecenie powoduje błąd. Można przetwarzać wiele plików, ale dane wyjściowe nie zawierają nazw plików. Opcje takie jak ` -b`> , ` -c`> i ` -f`> pozwalają na ekstrakcję odpowiednio według bajtu, znaku i pola. The--complement>opcja odwraca zaznaczenie i drukuje to, co nie zostało wybrane, oraz--output-delimiter>zmienia ogranicznik wyjściowy. Polecenie zawiera również opcje wyświetlania wersji i może być używane w połączeniu z innymi poleceniami za pośrednictwem potoków w celu dodatkowego przetwarzania.
?list=PLqM7alHXFySFc4KtwEZTANGmyJm3NqS_L