Come Remove Duplicate Lines in Unix

October 7

La shell Unix ambiente è progettato per la lettura e la manipolazione di file di testo (tra gli altri compiti). La configurazione di file, script e codice sorgente sono semplici file di testo che possono essere letti in qualsiasi editor di testo. Per questo motivo, ci sono i comandi per compiti come la combinazione di file, eliminando righe e colonne e la ricerca di informazioni. Grazie alla combinazione di shell comandi con il scripting lingue "awk" e "sed", è possibile eseguire ad alto livello di editing compiti, tra cui la rimozione duplicato linee da uno o più file di testo, dalla riga di comando senza mai aprire un editor di testo.

istruzione

File possono essere ordinati in ordine alfabetico

1 Eseguire un backup del file di cui si sta lavorando:

cp document.txt document.txt.bkup

2 Eseguire il comando:

sort -u document.txt

Questo comando ordinerà il file e rimuovere tutte le linee duplicate.

3 Rimuovere le righe vuote con il comando:

uniq document.txt

File non può essere ordinati alfabeticamente

4 Fare un backup di file:
cp Document.txt document.txt.bkup

5 Eseguire il seguente awk comando:

awk '!($0 in a) {a[$0];print}' document.txt > unique.txt

La vostra unica voci si troverà nel file chiamato unique.txt

6 Rinominare il file di testo con le linee uniche.

cp unique.txt document.txt

Questo mette l'unica voci indietro nel file originale.

Combinare due file e trovare il duplicato Lines

7 Fare un backup di file:
cp Document.txt document.txt.bkup

8 Eseguire il comando:

cat doc1.txt doc2.txt > combine.txt

Questo comando combina doc1.txt e doc2.txt nel file combine.txt

9 Rimuovere le righe duplicate.
Utilizzare l'ordinamento e uniq comandi o il awk comando specificato sopra.