Eu tenho um arquivo delimitado por tabulação como:
name1 verb1 name2 verb2 etc...
Eu quero excluir a segunda coluna. Tentei editar uma dessas respostas , mas não conhecia sede awknão consegui.
Alguém pode me ajudar?
xpara excluir)?
Eu tenho um arquivo delimitado por tabulação como:
name1 verb1 name2 verb2 etc...
Eu quero excluir a segunda coluna. Tentei editar uma dessas respostas , mas não conhecia sede awknão consegui.
Alguém pode me ajudar?
xpara excluir)?
Respostas:
No vim, você deve poder usar o comando
:%s/\t[^\t]*//
(substitua TABseguido por zero ou mais ocorrências de qualquer caractere, exceto TABpor nada). Se o seu arquivo tiver apenas duas colunas, você poderá usar um pouco mais simples :%s/\t.*ou :%s/\t.*$substituir o primeiro TABe qualquer caractere a seguir até o final da linha.
A resposta aceita é muito mais elegante do que essa (eu a votei!), Mas se você não se lembra, pode usar vim o modo de bloqueio visual diretamente. Abra o vim e vá (modo normal) para o primeiro canto da coluna, assim:

Digite CTRL-Ve você pode mover o cursor para selecionar a coluna, a meio caminho:

Para ir no final, pressione G:

o bloco parece quebrado porque estamos na última linha que está em branco; basta subir uma linha (com a seta para cima ou k) para vê-la novamente ...:

Agora você simplesmente pressiona xpara excluir o bloco:

Eu usaria cutpara isso
cut -f1,3- file.txt > newfile.txt
mv newfile.txt file.txt
Você também pode usar isso como um filtro no vim (isso substituirá todas as linhas do arquivo; você também pode usar (por exemplo) em 2,9vez de %processar as linhas 2 a 9 ou selecionar as linhas que deseja V):
:%!cut -f1,3-
-f1,3-significa 'imprimir o campo um, seguido pelo campo três e todos os campos até o final da linha'. Por padrão, cutusa uma guia como seu delimitador; se você precisar de algo mais, use a -dopção (consulte man cut).
Você pode tentar:
:%norm WdW
ou manualmente usando o modo visual:
Para fazer isso no local a partir da linha de comando, tente:
$ ex +':exe ":%norm f\<Tab>dE"' -scx file
Relacionado: Como escrever literalmente para usar a tecla Tab para movimento?
Veja também: