GNU/Linux >> Znalost Linux >  >> Linux

7 Příklady příkazů Linux Uniq k odstranění duplicitních řádků ze souboru

Příkaz Uniq je užitečný k odstranění nebo detekci duplicitních položek v souboru. Tento tutoriál vysvětluje několik nejčastěji používaných možností příkazového řádku uniq, které by vám mohly pomoci.

Následující testovací soubor je v některých příkladech použit k pochopení toho, jak příkaz uniq funguje.

$ cat test
aa
aa
bb
bb
bb
xx

1. Základní použití

Syntaxe:

$ uniq [-options]

Například, když je příkaz uniq spuštěn bez jakékoli možnosti, odstraní duplicitní řádky a zobrazí jedinečné řádky, jak je uvedeno níže.

$ uniq test
aa
bb
xx

2. Spočítat počet výskytů pomocí volby -c

Tato možnost je počítat výskyt řádků v souboru.

$ uniq -c test
      2 aa
      3 bb
      1 xx

3. Tisknout pouze duplicitní řádky pomocí volby -d

Tato možnost je tisknout pouze duplicitní opakované řádky v souboru. Jak vidíte níže, nezobrazilo se tím řádek „xx“, protože v testovacím souboru není duplicitní.

$ uniq -d test
aa
bb

Výše uvedený příklad zobrazil všechny duplicitní řádky, ale pouze jednou. Ale tato volba -D vytiskne všechny duplicitní řádky v souboru. Například řádek „aa“ byl v testovacím souboru dvakrát, takže následující příkaz uniq zobrazil řádek „aa“ v tomto výstupu dvakrát.

$ uniq -D test
aa
aa
bb
bb
bb

4. Tisknout pouze jedinečné řádky pomocí volby -u

Tato možnost je tisknout pouze jedinečné řádky v souboru.

$ uniq -u test
xx

Pokud chcete odstranit duplicitní řádky ze souboru pomocí určitého vzoru, můžete použít příkaz sed delete.

5. Omezte srovnání na ‚N‘ znaků pomocí volby -w

Tato možnost omezuje srovnání pouze na první zadané „N“ znaky. Pro tento příklad použijte následující vstupní soubor test2.

$ cat test2
hi Linux
hi LinuxU
hi LinuxUnix
hi Unix

Následující příkaz uniq používající volbu „w“ porovná prvních 8 znaků řádků v souboru a poté pomocí možnosti „c“ vytiskne počet výskytů řádků souboru.

$ uniq -c -w 8 testNew
  3 hi Linux
  1 hi Unix

Následující příkaz uniq používající volbu „w“ porovná prvních 8 znaků řádků v souboru a poté pomocí možnosti „D“ vytiskne všechny duplicitní řádky souboru.

$ uniq -D -w 8 testNew
hi Linux
hi LinuxU
hi LinuxUnix

6. Vyhněte se porovnávání prvních ‚N‘ znaků pomocí volby -s

Tato možnost přeskočí porovnání prvních zadaných znaků ‚N‘. Pro tento příklad použijte následující vstupní soubor test3.

$ cat test3
aabb
xxbb
bbc
bbd

Následující příkaz uniq používající volbu ‚s‘ přeskočí porovnání prvních 2 znaků řádků v souboru a poté pomocí možnosti ‚D‘ vytiskne všechny duplicitní řádky souboru.

Zde by počáteční 2 znaky, tj. „aa“ na 1. řádku a „“xx“ na 2. řádku, nebyly porovnány a další 2 znaky „bb“ v obou řádcích jsou stejné, takže by se zobrazily jako duplicitní řádky.

$ uniq -D -s 2 test3
aabb
xxbb

7. Vyhněte se porovnávání prvních „N“ polí pomocí volby -f

Tato možnost přeskočí porovnání prvních zadaných „N“ polí řádků v souboru.

$ cat test2
hi hello Linux
hi friend Linux
hi hello LinuxUnix

Následující příkaz uniq používající volbu ‚f‘ přeskočí porovnání prvních 2 polí řádků v souboru a poté pomocí možnosti ‚D‘ vytiskne všechny duplicitní řádky souboru.

Zde by se počáteční 2 pole, tj. „ahoj ahoj“ v 1. řádku a „ahoj příteli“ na 2. řádku, neporovnávala a pak by další pole „Linux“ v obou řádcích bylo stejné, takže by se zobrazilo jako duplicitní řádky.

$ uniq -D -f 2 test2
hi hello Linux
hi friend Linux

Linux
  1. Příkaz mv v Linuxu:7 základních příkladů

  2. Příklady příkazů Linux tail

  3. Příkaz wc pro Linux

  1. V příkladech příkazů v Linuxu

  2. Příklady příkazů gzip v Linuxu

  3. více příkladů příkazů v Linuxu

  1. Příklady příkazů hlavy v Linuxu

  2. soubor Příklady příkazů v Linuxu

  3. Jak odstranit duplicitní slova ze souboru prostého textu pomocí příkazu linux