regex - borrar - vi ir al final del archivo
¿Cómo elimino los primeros 5 caracteres de cada línea en un archivo de texto usando vi? (5)
¿Cómo elimino los primeros 5 caracteres de cada línea en un archivo de texto?
Tengo un archivo como este:
4 Alabama
4 Alaska
4 Arizona
4 Arkansas
4 California
54 Can
8 Carolina
4 Colorado
4 Connecticut
8 Dakota
4 Delaware
97 Do
4 Florida
4 Hampshire
47 Have
4 Hawaii
Me gustaría eliminar el número y el espacio al principio de cada línea en mi archivo txt.
Como todas las líneas están alineadas, no necesita una sustitución para resolver este problema. Solo lleva el cursor a la posición superior izquierda (gg), luego: CTRL + vGwlx
Dado que el texto parece que es información en columnas, awk generalmente sería útil. Usaría V
para seleccionar las líneas, luego presioné :!
y usa awk:
:''<,''>! awk ''{ print $2 }''
Para imprimir la segunda columna de los datos. Te ahorra de contar espacios por completo.
Tratar
:s/^.....//
Probablemente no necesite el "^" (inicio de línea), y habría 5 accesos directos para los 5 caracteres, pero simple es bueno :)
Use la expresión regular ^.....
para hacer coincidir los primeros 5 caracteres de cada línea. Úsalo en una sustitución global:
:%s/^.....//
:%s/^./{0,5/}//
debería hacer el truco. También maneja casos donde hay menos de 5 caracteres.