El únic L'ordre a Linux és una utilitat de línia d'ordres que informa o filtra les línies repetides d'un fitxer. En paraules senzilles, únic és l'eina que ajuda a detectar les línies duplicades adjacents i també elimina les línies duplicades. únic filtra les línies coincidents adjacents del fitxer d'entrada (que es requereix com a argument) i escriu les dades filtrades al fitxer de sortida.
Taula de contingut
llenguatge màquina
- Sintaxi de l'ordre uniq
- Opcions comunes de l'ordre uniq
- Exemples d'ús de l'ordre `uniq`
- Com eliminar línies duplicades mitjançant l'ordre `uniq`
- Com comptar línies duplicades utilitzant l'ordre `uniq` a Linux
- Com mostrar línies repetides mitjançant l'ordre `uniq` a Linux
- Com mostrar totes les línies duplicades mitjançant l'ordre `uniq` a Linux
- Com mostrar línies úniques mitjançant l'ordre `uniq` a Linux
- Saltant els primers N caràcters (opció -s) fent servir l'ordre `uniq` a Linux
- Limitació de la comparació als primers N caràcters (opció -w) mitjançant l'ordre `uniq` a Linux
- Comparació que no distingeix entre majúscules i minúscules (opció -i) fent servir l'ordre `uniq` a Linux
- Sortida acabada NULL (opció -z) Utilitzant l'ordre `uniq` a Linux
Sintaxi de l'ordre uniq
La sintaxi bàsica del ` uniq`> l'ordre és:
uniq [OPTIONS] [INPUT_FILE [OUTPUT_FILE]]>
Aquí,
-
`OPTIONS`>: Banderes opcionals que modifiquen el comportament del `uniq`>comandament. -
`INPUT_FILE`>: el camí al fitxer d'entrada que conté les dades de text. Si no s'especifica, `uniq`>llegeix des de l'entrada estàndard (normalment el teclat). -
`OUTPUT_FILE`>: El camí al fitxer de sortida on s'escriuran les línies úniques. Si no s'especifica, `uniq`>escriu a la sortida estàndard (normalment el terminal).
Opcions comuns del uniq> Comandament
Aquí hi ha algunes opcions habituals que es poden utilitzar amb el ` uniq`> comandament:
| Opcions | Descripció |
|---|---|
| -c, -compte | Prefixeu les línies pel nombre d'ocurrències a l'entrada, seguit d'un espai. |
| -d, -va repetir | Només les línies de sortida que es repeteixen a l'entrada. |
| -i, –ignora majúscules i minúscules | Ignoreu les diferències de cas quan compareu línies. |
| -f, –skip-fields=N | Eviteu comparar els primers N camps de cada línia. |
| -s, –skip-chars=N | Eviteu comparar els primers N caràcters de cada línia. |
| -u, –únic | Només les línies de sortida que són úniques a l'entrada. |
Exemples d'ús del ` uniq`> Comandament
Ara, anem a entendre l'ús d'això amb l'ajuda d'un exemple. Suposem que teniu un fitxer de text anomenat kt.txt que conté línies repetides que s'han d'ometre. Això es pot fer simplement amb 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.>
Com eliminar línies duplicades mitjançant l'ordre `uniq`
Per eliminar les línies duplicades de ` kt.txt`> , podem utilitzar el ` uniq`> comandament:
uniq kt.txt>

eliminar línies duplicades
Com podeu veure que acabem d'utilitzar el nom del fitxer d'entrada a l'exemple d'uniq anterior i com que no hem utilitzat cap fitxer de sortida per emmagatzemar la sortida produïda, l'ordre uniq va mostrar la sortida filtrada a la sortida estàndard amb tots els duplicats. línies eliminades.
Nota: únic no és capaç de detectar les línies duplicades tret que estiguin adjacents entre si. Per tant, el contingut del fitxer s'ha d'ordenar abans d'utilitzar uniq o simplement podeu utilitzar-lo ordena -u en lloc de l'ordre uniq.
Com comptar línies duplicades utilitzant l'ordre `uniq` a Linux
El ` -c`> L'opció prefixa cada línia amb el nombre d'ocurrències a l'entrada:
uniq -c kt.txt>

Recompte de l'aparició de línies duplicades
En aquest exemple a l'inici de cada línia es mostra el seu número repetit
Com mostrar línies repetides mitjançant l'ordre `uniq` a Linux
El ` -d`> L'opció només imprimeix línies duplicades:
uniq -d kt.txt>

mostrar només línies duplicades
Com mostrar totes les línies duplicades mitjançant l'ordre `uniq` a Linux
El ` -D`> L'opció imprimeix totes les línies duplicades, no només una per grup:
uniq -D kt.txt>

imprimeix totes les línies duplicades
Com mostrar línies úniques mitjançant l'ordre `uniq` a Linux
El ` -u`> L'opció només imprimeix línies úniques:
uniq -u kt.txt>

imprimeix només línies úniques
Saltant els primers N camps ( -f> opció) Utilitzant l'ordre `uniq` a Linux
El ` -f N`> L'opció salta els primers N camps abans de comparar línies. Útil per a línies numerades:
uniq -f 2 f1.txt>
//mostrant el contingut de f1.txt//
1. M'encanta la música.
2. M'encanta la música.
3. M'encanta la música de Kartik.
4. M'encanta la música de Kartik.

Opció `-s N`
En aquest exemple, s'utilitza 2 perquè havíem de comparar les línies després de la numeració 1,2... i després dels punts
Saltant els primers N caràcters ( -s> opció) Utilitzant l'ordre `uniq` a Linux
El ` -s N`> L'opció omet els primers N caràcters de cada línia:
//mostrant contingut de f2.txt//
#%@M'encanta la música.
^&(M'encanta la música.
*-!@gràcies.
#%@! gràcies.
uniq -s 3 f2.txt>
En aquest exemple es filtren les mateixes línies després de saltar 3 caràcters.

Opció `-s N`
Limitació de la comparació als primers N caràcters ( -w> opció) Utilitzant l'ordre `uniq` a Linux
Utilitzant l'opció -w: De manera similar a la manera de saltar caràcters, també podem demanar a uniq que limiti la comparació a un nombre determinat de caràcters. Per a això, s'utilitza l'opció de línia d'ordres -w.
//mostrant contingut de f3.txt//
Com és possible?
Com es pot fer?
Com utilitzar-lo?
uniq -w 3 f3.txt>
Com que els 3 primers caràcters de les 3 línies són iguals, per això uniq va tractar tots aquests com a duplicats i va donar la sortida en conseqüència.

Utilitzant l'opció -w
Comparació sense distinció entre majúscules i minúscules ( -i> opció) Utilitzant l'ordre `uniq` a Linux
El ` -i`> L'opció fa que la comparació no distingeix entre majúscules i minúscules:
estructures de dades java
//mostrant el contingut de f4.txt//
M'ENCANTA LA MÚSICA
m'encanta la música
GRÀCIES
uniq f4.txt>
Aquí les línies no es tracten com a duplicats amb un simple ús d'uniq
//ara utilitzant l'opció -i//
uniq -i f4.txt>
Ara s'elimina la segona línia quan s'utilitza l'opció -i.

la comparació no distingeix entre majúscules i minúscules
Sortida acabada NULL ( -z> opció) Utilitzant l'ordre `uniq` a Linux
Utilitzant l'opció -z: De manera predeterminada, la sortida que produeix uniq acaba amb una nova línia. Tanmateix, si voleu, voleu tenir una sortida acabada amb NULL (útil per tractar amb uniq als scripts). Això es pot fer possible mitjançant l'opció de línia d'ordres -z.
Sintaxi:
uniq -z file-name>
Conclusió
En aquest article hem parlat deuniq>L'ordre a Linux és una eina versàtil per gestionar línies duplicades en fitxers de text. En entendre les seves diverses opcions, podeu gestionar i processar dades de text de manera eficient. Experimenta amb diferents opcions i exemples per dominar l'ús deluniq>comandament.
?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L