Tengo un archivo delimitado por tabulaciones como:
name1 verb1 name2 verb2 etc...
Quiero borrar la segunda columna. Traté de editar una de estas respuestas , pero no estaba familiarizado con sed
y awk
, no pude.
¿Alguien puede ayudarme?
x
para eliminar)?Respuestas:
En vim, deberías poder usar el comando
(sustituto TABseguido de cero o más ocurrencias de cualquier carácter, excepto TABsin nada). Si su archivo tiene solo dos columnas, puede usar uno ligeramente más simple
:%s/\t.*
o:%s/\t.*$
que reemplace el primero TABy los siguientes caracteres hasta el final de la línea.fuente
La respuesta aceptada es mucho más elegante que esta (¡la he votado!), Pero si no la recuerda, puede usar
vim
el modo de bloqueo visual directamente. Abra vim y vaya (modo normal) a la primera esquina de la columna, así:Escriba
CTRL-V
y puede mover el cursor para seleccionar la columna, esto está a medio camino:Para ir al final, presione
G
:el bloque parece roto porque estamos en la última línea que está en blanco; simplemente sube una línea (con la flecha hacia arriba o
k
) para verla de nuevo ...:Ahora simplemente presiona
x
para eliminar el bloque:fuente
Yo usaría
cut
para estoTambién puede usar esto como un filtro dentro de vim (esto reemplazará todas las líneas en el archivo; también puede usar (por ejemplo) en
2,9
lugar de%
procesar las líneas 2-9 o seleccionar las líneas que deseeV
):-f1,3-
significa "campo de impresión uno, seguido del campo tres y todos los campos hasta el final de la fila". Por defecto,cut
usa una pestaña como delimitador; Si necesita algo más, use la-d
opción (verman cut
).fuente
Puedes probar:
o manualmente usando el modo visual:
Para hacerlo en el lugar desde la línea de comando, intente:
Relacionado: ¿Cómo escribir literal para la tecla Tab para usar para movimiento?
Ver también:
fuente