Vi är ett kraftfullt kommandorad textredigerare infödda till Unix . Även om det inte är möjligt att ta bort dubbla textrader med infödda vi kommandon , är det möjligt att göra det med hjälp av infödda Unix-kommandon och skript skal inuti editorn . Saker du behöver
Unix eller Linux
Visa fler instruktioner
Instruktioner
1
göra en säkerhetskopia av filen : . W doc.bkup
2 p Om det är acceptabelt att sortera posterna i textfilen , först använda kommandot Sortera :
: 1 , $ sortera
Detta kommando säger " använda Unix . sort kommandot på rad 1 till slutet av filen " Addera 3
Använd Unix uniq kommandot för att ta bort dubbla linjer
: . ! 1 , $ uniq
Detta kommando säger " använda Unix uniq kommandot att ta bort dubbla rader från rad 1 till slutet av filen . " The uniq kommandot fungerar bara på dubbla linjer som ligger intill varandra och inte har några tomma rader mellan dem .
4
Vet att om du inte kan sortera filen , måste du använda en awk script . Awk är ett Unix text - manipulation nytta. När den används med VI , utför avancerade sysslor som vi bara inte kan göra .
Kopiera följande skript till ett textdokument och spara det med namnet dup.sh i samma katalog som ditt textdokument .
# /bin /bashawk ' (0 $ i ) { a [$ 0] , print } '
Detta skript säger " . hitta varje unik rad och skriva ut den "
5
från Unix kommandorad , gör dup.sh skriptet körbart med kommandot :
chmod + x dup.sh
6
Ta bort nonconsecutive dubbla rader från inuti vi med följande kommando :
: . " . köra dup.sh skriptet från rad 1 till slutet av filen " 1 , $ /dup.sh
Detta kommando säger
7
Spara filen med kommandot
: . w