Vi er en kraftfuld kommandolinje tekst editor indfødte til Unix. Selv om det ikke er muligt at fjerne dublerede tekstlinjer med indfødte VI kommandoer , er det muligt at gøre det ved hjælp indfødte UNIX-kommandoer og shell scripts inde i editoren. Ting du skal
Unix eller Linux
Vis Flere Instruktioner
Instruktioner
1
Lav en sikkerhedskopi af filen: . W doc.bkup
< br > 2 p Hvis det er acceptabelt at sortere posterne i tekstfilen , skal du først bruge den slags kommando : Hej
: 1, $ sort
Denne kommando "siger bruge Unix . sortere kommando på linjerne 1 til slutningen af filen "
3
Brug Unix uniq kommando til at fjerne de dublerede linier
: . ! 1, $ Uniq < br >
Denne kommando "siger bruge Unix uniq kommando til at fjerne dublerede linjer fra linje 1 til slutningen af filen. " The uniq kommandoen virker kun på identiske linjer , der støder op til hinanden og ikke har nogen tomme linjer mellem dem.
4
Vid, at hvis du ikke kan sortere den fil , bliver du nødt til at bruge en awk script. Awk er en Unix tekst - manipulation nytte. Når det bruges med VI , vil det udføre avancerede gøremål, vi ikke alene kan gøre.
Kopier følgende script i et tekstdokument og gemme det med navnet dup.sh i samme mappe som dit tekstdokument . < Br >
# /bin /bashawk ' ($ 0 a) ! {a [$ 0] , print }'
Dette script siger . " finde hver unik linje og udskrive det "
< br > 5
fra Unix kommandolinje , gør dup.sh script eksekverbare med kommandoen : Hej
chmod + x dup.sh
6
Fjern nonconsecutive dublerede linjer fra inde vi med følgende kommando : Hej
: ". . køre dup.sh script fra linje 1 til slutningen af filen" 1, $ /dup.sh
Denne kommando fortæller
7
Gem filen med kommandoen
: . w