Slik fjerner du like linjer i Unix

Unix-shell miljøet er utformet for lesing og manipulering av tekstfiler (blant andre oppgaver). Konfigurasjonsfiler, skript og kildekoden er enkle tekstfiler som kan leses i en hvilken som helst tekst editor. Av den grunn, det er kommandoer for oppgaver som å kombinere filer, fjerne linjer og kolonner og søker etter informasjon. Ved å kombinere shell-kommandoer med skriptspråk "awk" og "sed", kan du utføre høye nivå redigeringsoppgaver, inkludert fjerne dupliserte linjer fra en eller flere tekstfiler, fra kommandolinjen uten å åpne en tekst editor.

Bruksanvisning

Fil kan sorteres alfabetisk

1 Lag en sikkerhetskopi av filen du arbeider med:

cp document.txt document.txt.bkup

2 Gi kommandoen:

sort -u document.txt

Denne kommandoen vil sortere filen og fjerne alle dupliserte linjer.

3 Fjern tomme linjer med kommandoen:

uniq document.txt

Filen kan ikke sortert alfabetisk

4 Lag en backup-fil:
cp dokument.txt document.txt.bkup

5 Utstede følgende awk kommando:

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

Dine unike oppføringer vil bli funnet i filen som heter unique.txt

6 Endre navnet på tekstfilen med de unike linjer.

cp unique.txt document.txt

Dette setter de unike oppføringer tilbake til den originale filen.

Kombinere to filer og finne dupliserte Lines

7 Lag en backup-fil:
cp dokument.txt document.txt.bkup

8 Gi kommandoen:

cat doc1.txt doc2.txt > combine.txt

Denne kommandoen kombinerer doc1.txt og doc2.txt inn i filen combine.txt

9 Fjern dupliserte linjer.
Bruk enten sort og uniq kommandoer eller awk kommandoen spesifisert ovenfor.