logo

uniq Command w systemie Linux z przykładami

The unikalny polecenie w systemie Linux to narzędzie wiersza poleceń, które raportuje lub filtruje powtarzające się wiersze w pliku. W prostych słowach, unikalny to narzędzie, które pomaga wykryć sąsiednie zduplikowane linie, a także usuwa zduplikowane linie. unikalny odfiltrowuje sąsiadujące pasujące linie z pliku wejściowego (wymaganego jako argument) i zapisuje przefiltrowane dane do pliku wyjściowego.

punkt Java

Spis treści



Składnia polecenia uniq

Podstawowa składnia ` uniq`> polecenie to:

uniq [OPTIONS] [INPUT_FILE [OUTPUT_FILE]]>

Tutaj,

  • `OPTIONS`> : Opcjonalne flagi modyfikujące zachowanie ` uniq`> Komenda.
  • `INPUT_FILE`> : Ścieżka do pliku wejściowego zawierającego dane tekstowe. Jeśli nie określono, ` uniq`> czyta ze standardowego wejścia (zwykle z klawiatury).
  • `OUTPUT_FILE`> : Ścieżka do pliku wyjściowego, w którym zostaną zapisane unikalne linie. Jeśli nie określono, ` uniq`> zapisuje na standardowe wyjście (zwykle terminal).

Wspólne opcje uniq> Komenda

Oto kilka typowych opcji, których można używać z rozszerzeniem ` uniq`> Komenda:



Opcje

Opis

-c, –liczba



Przedrostek wierszy liczby wystąpień na wejściu, po którym następuje spacja.

-d, –powtórzone

Tylko linie wyjściowe, które są powtarzane na wejściu.

-i, –ignore-case

Ignoruj ​​różnice w przypadku porównywania linii.

-f, –pomiń pola=N

Unikaj porównywania pierwszych N pól w każdym wierszu.

-s, –skip-chars=N

Unikaj porównywania pierwszych N znaków w każdym wierszu.

-u, -unikalny

Tylko linie wyjściowe, które są unikalne na wejściu.

Przykłady użycia ` uniq`> Komenda

Teraz zrozumiemy użycie tego na przykładzie. Załóżmy, że masz plik tekstowy o nazwie kt.txt, który zawiera powtarzające się linie, które należy pominąć. Można to po prostu zrobić za pomocą uniq.

//displaying contents of kt.txt//   $cat kt.txt   I love music. I love music. I love music. I love music of Kartik. I love music of Kartik. Thanks.>

Jak usunąć zduplikowane linie za pomocą polecenia „uniq”.

Aby usunąć zduplikowane linie z ` kt.txt`> , możemy skorzystać z ` uniq`> Komenda:

uniq kt.txt>

usuń zduplikowane linie

usuń zduplikowane linie

Jak widać, w powyższym przykładzie uniq właśnie użyliśmy nazwy pliku wejściowego, a ponieważ nie użyliśmy żadnego pliku wyjściowego do przechowywania wygenerowanego wyniku, polecenie uniq wyświetliło przefiltrowane wyjście na standardowe wyjście ze wszystkimi duplikatami linie usunięte.

Uwaga: unikat nie jest w stanie wykryć zduplikowanych linii, chyba że sąsiadują ze sobą. Dlatego zawartość pliku musi zostać posortowana przed użyciem uniq, w przeciwnym razie możesz po prostu użyć sortuj -u zamiast polecenia uniq.

Jak policzyć zduplikowane linie za pomocą polecenia „uniq” w systemie Linux

` -c`> opcja poprzedza każdą linię liczbą wystąpień na wejściu:

uniq -c kt.txt>
Liczenie występowania zduplikowanych linii

Liczenie występowania zduplikowanych linii

W tym przykładzie na początku każdej linii wyświetlany jest jej powtarzający się numer

Jak wyświetlić powtarzające się linie za pomocą polecenia „uniq” w systemie Linux

` -d`> opcja drukuje tylko zduplikowane linie:

uniq -d kt.txt>
wyświetlaj tylko zduplikowane linie

wyświetlaj tylko zduplikowane linie

Jak wyświetlić wszystkie zduplikowane linie za pomocą polecenia „uniq” w systemie Linux

` -D`> opcja drukuje wszystkie zduplikowane linie, a nie tylko jedną na grupę:

uniq -D kt.txt>
drukuje wszystkie zduplikowane linie

drukuje wszystkie zduplikowane linie

Jak wyświetlić unikalne linie za pomocą polecenia „uniq” w systemie Linux

` -u`> opcja drukuje tylko unikalne linie:

uniq -u kt.txt>

drukuje tylko unikalne linie

drukuje tylko unikalne linie

kolekcja Java

Pomijanie pierwszych N pól ( -f> opcja) Używanie polecenia „uniq” w systemie Linux

` -f N`> opcja pomija pierwsze N ​​pól przed porównaniem linii. Przydatne w przypadku linii numerowanych:

uniq -f 2 f1.txt>

//wyświetlanie zawartości pliku f1.txt//
1. Kocham muzykę.
2. Kocham muzykę.
3. Kocham muzykę Kartika.
4. Kocham muzykę Kartika.

Opcja `-s N`

Opcja `-s N`

W tym przykładzie użyto 2, ponieważ musieliśmy porównać linie po numeracji 1,2.. i po kropkach

Pomijanie pierwszych N znaków ( -s> opcja) Używanie polecenia „uniq” w systemie Linux

` -s N`> opcja pomija pierwszych N znaków w każdym wierszu:

//wyświetlanie zawartości pliku f2.txt//
#%@Kocham muzykę.
^&(Kocham muzykę.
*-!@Dzięki.
#%@!Dzięki.

uniq -s 3 f2.txt>

W tym przykładzie linie są filtrowane tak samo po pominięciu 3 znaków.

Opcja `-s N`

Opcja `-s N`

Ograniczanie porównania do pierwszych N znaków ( -w> opcja) Używanie polecenia „uniq” w systemie Linux

Używając opcji -w: Podobnie jak w przypadku pomijania znaków, również możemy poprosić uniq o ograniczenie porównania do określonej liczby znaków. W tym celu używana jest opcja wiersza poleceń -w.

//wyświetlanie zawartości pliku f3.txt//
Jak to jest możliwe?
Jak to można zrobić?
Jak tego użyć?

uniq -w 3 f3.txt>

Ponieważ pierwsze 3 znaki wszystkich 3 linii są takie same, dlatego uniq potraktował je wszystkie jako duplikaty i odpowiednio dał wynik.

Użycie opcji -w

Użycie opcji -w

Porównanie bez uwzględniania wielkości liter ( -i> opcja) Używanie polecenia „uniq” w systemie Linux

` -i`> opcja sprawia, że ​​w porównaniu wielkość liter nie jest uwzględniana:

//wyświetlanie zawartości pliku f4.txt//
KOCHAM MUZYKĘ
kocham muzykę
DZIĘKI

uniq f4.txt>

Tutaj linie nie są traktowane jako duplikaty przy prostym użyciu uniq

//teraz używam opcji -i//

jak wykonać skrypt
uniq -i f4.txt>

Teraz druga linia jest usuwana, gdy używana jest opcja -i.

w porównaniu wielkość liter nie jest uwzględniana

w porównaniu wielkość liter nie jest uwzględniana

Wyjście zakończone NULL ( -z> opcja) Używanie polecenia „uniq” w systemie Linux

Używając opcji -z: Domyślnie wyjście uniq jest zakończone nową linią. Jeśli jednak chcesz, zamiast tego chcesz mieć wyjście zakończone NULL (przydatne podczas pracy z uniq w skryptach). Można to zrobić za pomocą opcji wiersza poleceń -z.

Składnia:

uniq -z file-name>

Wniosek

W tym artykule omówiliśmyuniq>polecenie w systemie Linux to wszechstronne narzędzie do obsługi duplikatów linii w plikach tekstowych. Rozumiejąc jego różne opcje, możesz efektywnie zarządzać i przetwarzać dane tekstowe. Eksperymentuj z różnymi opcjami i przykładami, aby opanować użycie narzędziauniq>Komenda.

?list=PLqM7alHXFySFc4KtwEZTANGmyJm3NqS_L