Me gustaría utilizar Vim para que coincida con una expresión regular y realizar una sustitución. Tengo un archivo TSV con las líneas que se parecen a esto:Positiva afirmación y sustitución con Vim?
rs11223-A -A
rs23300-G -TTA
rs9733-T -G
rs11900000-GT -TTG
deseo de sustituir el guión (-) de caracteres para un ficha sólo en la primera columna después de que los rs ...
En Vim I estaba intentando realizar la sustitución usando:
:%s/(?<=^rs[0-9]{1,12})-/\t/g
¿Alguien podría indicar cuál es mi problema y una solución correcta?
# 2 tendría que ser:% s/rs^\ d \ @<= -/\ t/g – KomodoDave
@KomodoDave: Su el patrón coincidiría con 'rs' al principio de la línea, seguido inmediatamente por un guión (' -') precedido por un * dígito * simple (aspecto positivo detrás de '\ d \ @<= -'). Ninguna de las líneas en los datos dados coincide con ese patrón. Si insiste en anclar, podría usar el patrón que acabo de agregar. –
Pensé que OP significaba columna en el sentido de columnas de caracteres, pero quizás él no. Copié el suyo para editarlo y no lo reemplacé con - como pretendía - lo que quería escribir es::% s/^ rs - \ @<=/\ t/g que coincide con '-' en el primer columna char después de 'rs' al inicio de la línea. – KomodoDave