Vi é um poderoso editor de texto de linha de comando nativa do Unix. Embora não seja possível remover linhas duplicadas de texto com comandos vi nativos , é possível fazê-lo usando os comandos Unix nativas e scripts shell dentro do editor. Coisas que você precisa
Unix ou Linux
Mostrar Mais instruções
Instruções
O 1
Faça um backup do arquivo : . W doc.bkup
2
Se é aceitável para classificar as entradas no arquivo de texto , use primeiro o comando sort :
: 1, $ tipo
Este comando diz " usar o Unix . comando sort em linhas 1 até o final do arquivo "
3
Use o comando uniq Unix para remover as linhas duplicadas
: . ! 1, $ uniq
Este comando diz " use o comando uniq Unix para remover linhas duplicadas da linha 1 até o fim do arquivo. " O comando uniq só funciona em linhas duplicadas que são adjacentes uns aos outros e não têm linhas em branco entre eles.
4
Saiba que , se você não pode classificar o arquivo, você terá que usar um script awk . Awk é um utilitário de manipulação de texto Unix. Quando usado com o vi , ele irá executar tarefas avançadas que vi por si só não pode fazer.
Copie o seguinte script em um documento de texto e salve-o com o dup.sh nome no mesmo diretório que o seu documento de texto. < Br >
# /bin /bashawk ' ($ 0 em a) {a [$ 0]; } print ! ' em
Esse script diz que " encontrar cada linha única e imprimi-lo . "
< br > 5
a partir da linha de comando Unix, tornar o script executável dup.sh com o comando:
chmod + x dup.sh
6
Remover as linhas duplicadas não consecutivos de dentro vi com o seguinte comando :
: . 1, $ /dup.sh
Este comando diz " . executar o script dup.sh da linha 1 até o fim do arquivo "
7
Salve o arquivo com o comando
: . w