Creative Saplings

10 praktycznych przykładów poleceń cięcia w Linuksie do wybierania kolumn plików

9 stycznia, 2021
No Comments

Polecenie cut w Linuksie jest używane do przetwarzania tekstu. Możesz użyć tego polecenia, aby wyodrębnić część tekstu z pliku, wybierając kolumny.

Ten samouczek zawiera kilka praktycznych przykładów polecenia wycinania, których możesz używać w codziennych czynnościach wykonywanych z wiersza poleceń.

W większości przykładu będziemy używać następującego pliku testowego.

$ cat test.txtcat command for file oriented operations.cp command for copy files or directories.ls command to list out files and directories with its attributes.

Wybierz kolumnę znaków

Aby wyodrębnić tylko żądaną kolumnę z pliku, użyj opcji -c. Poniższy przykład wyświetla drugi znak z każdej linii pliku test.txt

$ cut -c2 test.txtaps

Jak widać powyżej, znaki a, p, s są drugim znakiem z każdy wiersz pliku test.txt.

Wybierz kolumnę znaków za pomocą zakresu

Zakres znaków można również wyodrębnić z pliku, określając pozycję początkową i końcową rozdzielone znakami -. Poniższy przykład wyodrębnia pierwsze 3 znaki każdego wiersza z pliku o nazwie test.txt

$ cut -c1-3 test.txtcatcpls

Wybierz kolumnę znaków, używając pozycji początkowej lub końcowej

Do polecenia cut można przekazać pozycję początkową lub końcową z opcją -c.

Poniżej podano tylko pozycję początkową przed „-”. W tym przykładzie wyodrębniamy od trzeciego znaku do końca każdego wiersza z pliku test.txt.

$ cut -c3- test.txtt command for file oriented operations. command for copy files or directories. command to list out files and directories with its attributes.

Poniżej podano tylko pozycję końcową po znaku „-”. Ten przykład wyodrębnia 8 znaków z początku każdego wiersza z pliku test.txt.

$ cut -c-8 test.txtcat commcp commals comma

Cała linia zostanie wydrukowana, jeśli nie określisz liczby przed lub po znaku „-”, jak pokazano poniżej.

$ cut -c- test.txtcat command for file oriented operations.cp command for copy files or directories.ls command to list out files and directories with its attributes.

Wybierz określone pole z pliku

Zamiast wybierać x liczbę znaków, jeśli chcesz wyodrębnić całe pole, możesz połączyć opcję -f i -d. Opcja -f określa, które pole chcesz wyodrębnić, a opcja -d określa, jaki jest ogranicznik pól używany w pliku wejściowym.

Poniższy przykład wyświetla tylko pierwsze pole każdego wiersza z / etc / passwd, używając separatora pól: (dwukropek). W tym przypadku pierwsze pole to nazwa użytkownika. Plik

$ cut -d":" -f1 /etc/passwdrootdaemonbinsyssyncgamesbala

Wybierz wiele pól z pliku

Możesz także wyodrębnić więcej niż jedno pole z pliku lub standardowego wyjścia. Poniższy przykład wyświetla nazwę użytkownika i katalog domowy użytkowników, którzy mają powłokę logowania jako „/ bin / bash”.

$ grep "/bin/bash" /etc/passwd | cut -d":" -f1,6root:/rootbala:/home/bala

Aby wyświetlić zakres pól, określ pole początkowe i końcowe pole, jak pokazano poniżej. W tym przykładzie wybieramy pola od 1 do 4, 6 i 7

$ grep "/bin/bash" /etc/passwd | cut -d":" -f1-4,6,7root:x:0:0:/root:/bin/bashbala:x:1000:1000:/home/bala:/bin/bash

Wybierz pola tylko wtedy, gdy wiersz zawiera separator

W naszym przykładzie / etc / passwd, jeśli podasz inny ogranicznik inny niż: (dwukropek), polecenie cut wyświetli po prostu całą linię.

W poniższym przykładzie my ' został określony separator jako | (potok), a polecenie wytnij po prostu wyświetla całą linię, nawet jeśli nie znalazło żadnej linii, która ma | (kreska) jako separator.

$ grep "/bin/bash" /etc/passwd | cut -d"|" -f1root:x:0:0:root:/root:/bin/bashbala:x:1000:1000:bala,,,:/home/bala:/bin/bash

Ale możliwe jest filtrowanie i wyświetlanie tylko wierszy zawierających określony separator przy użyciu opcji -s.

Poniższy przykład nie wyświetla żadnych danych wyjściowych, ponieważ polecenie cut nie nie znajduję żadnych wierszy, które mają separator | (potok) w pliku / etc / passwd.

$ grep "/bin/bash" /etc/passwd | cut -d"|" -s -f1

Zaznacz wszystkie pola z wyjątkiem określonych pól

Aby uzupełnić listę pól wyboru, użyj opcji –complement.

Poniższy przykład wyświetla wszystkie pola z pliku / etc / passwd z wyjątkiem pola 7

$ grep "/bin/bash" /etc/passwd | cut -d":" --complement -s -f7root:x:0:0:root:/rootbala:x:1000:1000:bala,,,:/home/bala

Zmień ogranicznik wyjścia dla wyświetlacza

Domyślnie separator wyjścia jest taki sam jako separator wejścia, który określamy w opcji cut -d.

Aby zmienić separator wyjścia, użyj opcji –output-delimiter, jak pokazano poniżej. W tym przykładzie separatorem danych wejściowych jest: (dwukropek), ale separatorem danych wyjściowych jest # (krzyżyk).

$ grep "/bin/bash" /etc/passwd | cut -d":" -s -f1,6,7 --output-delimiter="#"root#/root#/bin/bashbala#/home/bala#/bin/bash

Zmień ogranicznik wyjścia na znak nowej linii

W tym przykładzie każde pole wyniku polecenia cut jest wyświetlane w osobnym wierszu. Nadal używaliśmy –output-delimiter, ale wartość to $ '\ n', co oznacza, że powinniśmy dodać znak nowej linii jako separator wyjścia.

$ grep bala /etc/passwd | cut -d":" -f1,6,7 --output-delimiter=$"\n"bala/home/bala/bin/bash

Połącz Wytnij z innymi poleceniami uniksowymi

Potęgę polecenia cut można zrealizować, gdy połączysz je ze standardowym wyjściem jakiegoś innego polecenia Unix.

Gdy opanujesz podstawowe użycie polecenia cut które wyjaśniliśmy powyżej, możesz mądrze użyć polecenia cut, aby rozwiązać wiele wymagań dotyczących manipulacji tekstem.

Poniższy przykład pokazuje, jak możesz wydobyć tylko przydatne informacje z wyniku polecenia ps. Pokazaliśmy również, jak przefiltrowaliśmy wynik polecenia ps za pomocą grep i sed, zanim ostateczne wyjście zostało przekazane poleceniu cut.Tutaj użyliśmy opcji cut -d i -f, które wyjaśniliśmy w powyższych przykładach.

> Dodaj komentarz

Jeśli podobał Ci się ten artykuł, możesz również polubić …

  1. 50 Samouczki Linux Sysadmin
  2. 50 najczęściej używanych poleceń systemu Linux (z przykładami)
  3. 25 najlepszych narzędzi do monitorowania i debugowania wydajności systemu Linux
  4. Mamo, znalazłem to! – 15 praktycznych przykładów poleceń wyszukiwania w Linuksie
  5. Linux 101 Hacks 2nd Edition eBook
  • Wprowadzenie Awk – Przykłady drukowania 7 Awk
  • Zaawansowane przykłady zastępowania Sed
  • 8 Podstawy nawigacji w edytorze Vim Essential
  • 25 Najczęściej używane przykłady reguł IPTables w Linuksie
  • Turbodoładowanie PuTTY dzięki 12 potężnym dodatkom


Articles
Previous Post

Cytaty 40 róż

Next Post

kontrola rozmiaru tekstu

Dodaj komentarz Anuluj pisanie odpowiedzi

Najnowsze wpisy

  • Najlepsze szkoły fotograficzne na świecie, 2020
  • Suwerenni obywatele zabierają na drogi swoją antyrządową filozofię
  • Przewodnik po kosztach naprawy sztukaterii
  • Muckrakers (Polski)
  • Precyzyjna onkologia

Archiwa

  • Luty 2021
  • Styczeń 2021
  • Grudzień 2020
  • Listopad 2020
  • Październik 2020
  • Wrzesień 2020
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어
Proudly powered by WordPress | Theme: Fmi by Forrss.