Vi er en kraftig kommandolinje teksteditor innfødt til Unix . Selv om det ikke er mulig å fjerne dupliserte linjer med tekst med innfødte vi kommandoer , er det mulig å gjøre det ved hjelp av Unix- kommandoer og shell-script inne i editoren. Du trenger
Unix eller Linux
Vis flere instruksjoner
Instruksjoner
en
lage en sikkerhetskopi av filen: . W doc.bkup
2 p Hvis det er akseptabelt å sortere oppføringene i tekstfilen , først bruke sort kommandoen : en
: 1 , $ slags
Denne kommandoen sier " bruke Unix . sort kommandoen på linje 1 til slutten av filen "
3
Bruk Unix uniq kommandoen til å fjerne de overflødige linjer
: . ! 1, $ uniq
Denne kommandoen sier " bruke Unix uniq kommandoen til å fjerne dupliserte linjer fra linje 1 til slutten av filen. " The uniq kommandoen fungerer bare på dupliserte linjer som er ved siden av hverandre og ikke har noen tomme linjer mellom dem .
4
Vet at hvis du ikke kan sortere filen , må du bruke en awk script . Awk er et Unix tekst - manipulasjon verktøyet. Ved bruk sammen med vi, vil det utføre avanserte oppgaver som vi alene ikke kan gjøre.
Kopier følgende skript i et tekstdokument og lagre den med navnet dup.sh i samme katalog som tekstdokument.
# /bin /bashawk ' ( $ 0 i a) ! {a [ $ 0 ]; print } '
Dette skriptet sier " . finne hver unik linje og skrive den "
5
fra Unix kommandolinje , gjør dup.sh skriptet kjørbar med kommandoen : en
chmod + x dup.sh
6
Fjern nonconsecutive dupliserte linjer fra innsiden vi med følgende kommando : en
: . " . kjøre dup.sh skriptet fra linje 1 til slutten av filen" 1 , $ /dup.sh
Denne kommandoen sier
7
Lagre filen med kommandoen
: . w