Vi è un comando potente riga di testo editor di natale a Unix . Anche se non è possibile rimuovere le righe duplicate di testo con i comandi di vi native , è possibile farlo utilizzando i comandi Unix nativi e gli script di shell all'interno dell'editor . Cose che ti serviranno
Unix o Linux
Mostra più Istruzioni Istruzioni
1
fare un backup del file : . W doc.bkup
2
Se è accettabile per ordinare le voci nel file di testo , utilizzare prima il comando sort :
: 1 , $ sorta
Questo comando dice " utilizzare UNIX . comando sort sulla linea 1 alla fine del file "
3
Utilizzare il comando Unix uniq per rimuovere le righe duplicate
: . ! 1 , $ uniq
Questo comando dice " utilizzare il comando Unix uniq per rimuovere le righe duplicate dalla linea 1 alla fine del file . " il comando uniq funziona solo su linee duplicate che sono adiacenti tra loro e non hanno alcun righe vuote tra di loro .
4
Sappiate che , se non è possibile ordinare il file , sarà necessario utilizzare uno script awk . Awk è un programma di utilità di testo Unix - manipolazione . Quando viene utilizzato con vi , eseguirà lavori avanzati che da sola vi non può fare.
Copiare il seguente script in un documento di testo e salvarlo con il nome dup.sh nella stessa directory del documento di testo . < Br >
# /bin /bashawk ' ($ 0 in uno !) {a [$ 0]; } print '
Questo script dice " . trovare ogni linea unica e stamparlo "
< br > 5
dalla riga di comando Unix , rendere lo script eseguibile dup.sh con il comando :
chmod + x dup.sh
6
Rimuovere le righe duplicate non consecutivi dal all'interno vi con il seguente comando :
: ". . eseguire lo script dup.sh dalla linea 1 alla fine del file " 1 , $ /dup.sh
Questo comando dice:
7
Salvare il file con il comando
: . w