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 sed
e awk
não consegui.
Alguém pode me ajudar?
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 sed
e awk
não consegui.
Alguém pode me ajudar?
x
para excluir)?Respostas:
No vim, você deve poder usar o comando
(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.fonte
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-V
e 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
x
para excluir o bloco:fonte
Eu usaria
cut
para issoVocê 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,9
vez de%
processar as linhas 2 a 9 ou selecionar as linhas que desejaV
):-f1,3-
significa 'imprimir o campo um, seguido pelo campo três e todos os campos até o final da linha'. Por padrão,cut
usa uma guia como seu delimitador; se você precisar de algo mais, use a-d
opção (consulteman cut
).fonte
Você pode tentar:
ou manualmente usando o modo visual:
Para fazer isso no local a partir da linha de comando, tente:
Relacionado: Como escrever literalmente para usar a tecla Tab para movimento?
Veja também:
fonte