Polecenia Linuksa

Unikalne polecenie dla systemu Linux

Unikalne polecenie dla systemu Linux
Co to jest „unikalny”? To świetne narzędzie wiersza poleceń, które zgłosi lub pominie każdy zduplikowany tekst w podanych danych wejściowych. Jest to część GNU coreutils i dlatego jest dostępny w każdym systemie UNIX/Linux na rynku. Zacznijmy od „uniq”!

Unikalne użycie

Oto jak wygląda podstawowa struktura poleceń „uniq”.

uniq

Na przykład sprawdźmy zawartość „duplikatu.tekst". Oczywiście zawiera wiele zduplikowanych treści tekstowych na potrzeby tego artykułu.

duplikat kota.tekst | sortować

Treść wyraźnie się powiela, prawda? Przefiltrujmy je przez „unikalne”.

duplikat kota | sortuj | uniq

Wynik wygląda tak lepiej tylko z unikalnymi wartościami, prawda?

Jednak po prostu nie musisz używać metody orurowania, aby wykonać tę pracę. „uniq” może również bezpośrednio pracować na plikach.

uniq

Usuwanie duplikatów treści

Tak, usunięcie zduplikowanej treści z danych wejściowych i zachowanie tylko pierwszego wystąpienia jest domyślnym zachowaniem „uniq”. Zauważ, że to usunięcie duplikatów występuje tylko wtedy, gdy „uniq” znajdzie równoczesne zduplikowane elementy.

Sprawdźmy ten przykład. Utworzyłem kolejny „duplikat1.txt” zawierający zduplikowane elementy. Jednak nie sąsiadują ze sobą.

duplikat nietoperza1.tekst

Teraz przefiltruj to wyjście za pomocą „uniq”.

kot duplikat1.tekst | uniq

Wszystkie zduplikowane treści są tam! Dlatego jeśli pracujesz z czymś podobnym do tego, potokuj zawartość przez „sortuj”, aby upewnić się, że cała zawartość jest posortowana, a duplikaty sąsiadują ze sobą.

kot duplikat1.tekst | sortować

Teraz „uniq” wykona swoje zadanie normalnie.

kot duplikat1.tekst | sortuj | uniq

Liczba powtórzeń

Jeśli chcesz, możesz sprawdzić, ile razy wiersz powtarza się w treści. Po prostu użyj flagi „-c” z „uniq”.

duplikat kota.tekst | sortuj | uniq -c

Uwaga: „uniq” również wykona swoją zwykłą pracę, usuwając duplikaty.

Drukowanie zduplikowanych linii

W większości przypadków chcemy pozbyć się duplikatów, prawda? Tym razem może po prostu sprawdzić, co jest duplikatem?

Tak, „uniq” też to potrafi. W takim przypadku musisz użyć opcji „-D”. Będę używał „sortowania” pomiędzy, aby uzyskać lepszy, bardziej dopracowany wynik.

duplikat kota.tekst | sortuj | uniq -D

ŁAŁ! To DUŻO duplikatów! Jednak wszystkie duplikaty są zgrupowane, co utrudnia nawigację. Co powiesz na dodanie małej przerwy pomiędzy??

uniq --all-repeated=

Tutaj dostępne są 3 różne metody: brak (wartość domyślna), dołączanie i rozdzielanie.

duplikat kota.tekst | sortuj | uniq --all-repeated=prepend

duplikat kota.tekst | sortuj | uniq --all-repeated=oddzielny

Teraz wygląda lepiej.

Pomijanie sprawdzania unikalności

W wielu przypadkach wyjątkowość musi sprawdzić inny odcinek linii.

Zrozummy to na przykładzie. W pliku duplikat1.txt, powiedzmy, że duplikacja jest określona przez drugą część. Jak powiedzieć „uniq”, żeby to zrobił?? Generalnie sprawdza pierwsze pole (domyślnie). Cóż, my też możemy to zrobić. Jest ta flaga „-f” tylko do wykonania zadania.

uniq -f
kot duplikat1.tekst | sortuj -k 2 | uniq -f 1

Jeśli zastanawiasz się nad flagą „sort”, jest to polecenie sortowania, aby sortować na podstawie drugiej kolumny.

Wyświetl wszystkie wiersze, ale oddzielne duplikaty

Zgodnie ze wszystkimi wymienionymi powyżej przykładami, „uniq” zachowuje tylko pierwsze wystąpienie zduplikowanej treści i usuwa resztę. Co powiesz na całkowite usunięcie zduplikowanych treści?? Tak, używając flagi „-u”, możemy zmusić „uniq” do zachowania tylko nie powtarzających się linii.

duplikat kota.tekst | sortować

duplikat kota.tekst | sortuj | uniq -u

Hmm, zbyt wiele duplikatów już zniknęło…

Pomiń początkowe znaki

Rozmawialiśmy o tym, jak powiedzieć „uniq”, aby wykonał swoją pracę w innych dziedzinach, prawda? Czas zacząć sprawdzanie po kilku początkowych znakach. W tym celu flaga „-s” wraz z liczbą znaków powie „uniq” o wykonaniu zadania.

kot duplikat1.tekst | sortuj -k 2 | uniq -s 2

Jest to podobne do przykładu, w którym „uniq” miał spełnić swoje zadanie tylko w drugim polu. Zobaczmy inny przykład z tą sztuczką.

duplikat kota.tekst | sortuj | uniq -s 5

Sprawdź TYLKO początkowe znaki

Podobnie jak w przypadku polecenia „uniq”, aby pominąć pierwsze kilka znaków, można również powiedzieć „uniq”, aby ograniczyć sprawdzanie w ciągu pierwszych kilku znaków. Do tego celu służy dedykowana flaga „-w”.

duplikat kota.tekst | sortuj | uniq -w 5

To polecenie mówi „uniq”, aby wykonał kontrolę unikalności w ciągu pierwszych 5 znaków.

Zobaczmy inny przykład tego polecenia.

kot duplikat1.tekst | sortuj | uniq -w 5

Wymazuje wszystkie inne wystąpienia „zduplikowanych” wpisów, ponieważ sprawdził unikalność części „dupli”.

Niewrażliwość na wielkość liter

Podczas sprawdzania unikalności „uniq” sprawdza również wielkość liter. W niektórych sytuacjach rozróżnianie wielkości liter nie ma znaczenia, więc możemy użyć flagi „-i”, aby „uniq” nie uwzględniała wielkości liter.

Tutaj przedstawiam plik demo demo.

Kilka naprawdę sprytnych duplikatów z mieszanką wielkich i małych liter, prawda? Czas wezwać siłę „uniq” do oczyszczenia bałaganu!

kot duplikat1.tekst | sortuj | uniq -i

Życzenie spełnione!

Wyjście zakończone NULL

Domyślnym zachowaniem „uniq” jest zakończenie wyjścia znakiem nowej linii. Jednak wyjście może być również zakończone znakiem NULL. Jest to całkiem przydatne, jeśli zamierzasz używać go w skrypcie. Tutaj flaga „-z” to zadanie what.

duplikat kota.tekst | sortuj | uniq -z

Łączenie wielu flag

Nauczyliśmy się wielu flag „unikalnych”, prawda? Co powiesz na połączenie ich ze sobą??

Na przykład łączę razem niewrażliwość na wielkość liter i liczbę powtórzeń.

Jeśli kiedykolwiek planujesz mieszać ze sobą kilka flag, najpierw upewnij się, że współpracują ze sobą we właściwy sposób. Czasami rzeczy po prostu nie działają tak, jak powinny.

Końcowe przemyślenia

„uniq” to dość wyjątkowe narzędzie, które oferuje Linux. Przy tak wielu zaawansowanych funkcjach może być przydatny na wiele sposobów. Listę wszystkich flag i ich objaśnienia można znaleźć na stronach podręcznika i informacji „uniq”.

mężczyzna wyjątkowy

informacje unikatowe

Cieszyć się!

How to reverse Mouse and Touchpads scrolling direction in Windows 10
Mouse and Touchpads not only make computing easy but more efficient and less time-consuming. We cannot imagine a life without these devices, but still...
How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...
Gry Darmowe i otwarte silniki gier do tworzenia gier na Linuksa
Darmowe i otwarte silniki gier do tworzenia gier na Linuksa
Ten artykuł zawiera listę darmowych i otwartych silników gier, których można używać do tworzenia gier 2D i 3D w systemie Linux. Istnieje wiele takich ...