Czasami jest prawdopodobne, że masz bardzo długie pliki tekstowe, wśród których trudno jest znaleźć określone wzorce lub wiersze lub słowa, które są zduplikowane, a może istnieje kilka małych plików tekstowych, do których chcesz łatwiej dopasować, a nawet użyć potoku i dopasować dane wyjściowe polecenia. Także, uniq jest poleceniem czego szukasz.
Dzięki unikatowi możesz szukaj zbędnych informacji w bardzo prosty sposób. Ponadto pozwoli to również usunąć te duplikaty, jeśli zajdzie taka potrzeba. W tym samouczku zobaczysz kilka przykładów polecenia, które mogą Ci się przydać. Pamiętaj, że jest on instalowany domyślnie w zdecydowanej większości dystrybucji, więc nie będziesz musiał instalować pakietu...
Cóż, przede wszystkim zobaczmy przykład, aby zrozumieć podstawy polecenia uniq i co robi, a czego nie. Do ejemplo, wyobraź sobie, że tworzysz plik tekstowy o nazwie test.txt, a w środku umieszczasz kilka powtarzających się fraz lub słów, na przykład powtarzając trzy wiersze «Cześć, to jest test» a następnie użyj z nim uniq:
nano prueba.txt uniq prueba.txt
Cóż, w takim przypadku wyjście polecenia będzie po prostu:
Salida: Hola, esto es una prueba
Oznacza to, że umieść jedną linię «Cześć, to jest test» wyeliminowanie pozostałych 2, które są takie same. Ale uważaj, jeśli ponownie użyjesz cat, aby zobaczyć oryginał, zobaczysz, że nie zostały one usunięte z pliku, po prostu usunął je z danych wyjściowych:
cat prueba.txt
którego wyjściem byłoby:
Hola, esto es una prueba Hola, esto es una prueba Hola, esto es una prueba
Ale polecenie uniq ma o wiele więcej dostępnych opcji. Na przykład może ci powiedzieć ile razy linia jest powtarzana, wskazując na początku wiersza liczbę powtórzeń. Dla tego:
uniq -c prueba.txt
Możesz też po prostu wydrukuj powtarzające się liniei zignoruj te, które się nie powtarzają:
uniq -d prueba.txt
Lub te, które nie są duplikowane z opcją -u:
uniq -u prueba.txt
Aby użyć z uwzględnieniem wielkości liter i rozróżniaj wielkość liter, możesz użyć opcji -i:
uniq -i prueba.txt
Ok, a jak można to zrobić, aby utwórz plik tylko z unikalnymi liniami, eliminując jednocześnie wszystkie duplikaty. Cóż, to tak proste, jak użycie potoku do potoku wyjścia uniq do nowego pliku tekstowego:
uniq prueba.txt > unicas.txt