Estoy tratando de editar un archivo de configuración y quiero agregar una línea específica de código (en una línea nueva) cada vez que se combina una cadena específica ... todo lo que he buscado para buscar y reemplazar, estoy buscando buscar y anexar ...Buscar cadena y agregar línea en vi/vim
13
A
Respuesta
13
En vim
\r
es la nueva línea. Así que usted puede hacer algo como esto
%s/search string/&\rnew code/
0
Esto es lo que haría:
:g/specific string/s/.*/&specific line of code
g
El comando obtiene todas las líneas que contienen specific string
y luego aplicar el comando s
sustituto a esas líneas. El comando s
sustituye toda la línea con su contenido, más el specific line of code
HTH
13
personalmente, creo que el uso de ": g" comando es probablemente mejor que ": s" para este problema.
:g/key/norm owhat ever you want
hará texto:
foo
bar
key
foo2
bar2
key2
blah
a:
foo
bar
key
what ever you want
foo2
bar2
key2
what ever you want
blah
si desea añadir la nueva línea encima de la línea que contiene el patrón, simplemente cambiar el pequeño "o" para "O"
Cuestiones relacionadas
- 1. Buscar cadena específica y devolver toda la línea
- 2. Buscar y obtener una línea en Python
- 3. Buscar y reemplazar expresiones regulares en línea
- 4. buscar y reemplazar la cadena
- 5. buscar y reemplazar cadena en un archivo
- 6. Buscar y reemplazar en una gama de línea y columna
- 7. Agregar una nueva línea en una cadena en C#
- 8. Buscar una línea de código en Eclipse
- 9. ¿Cómo buscar una cadena en otra cadena?
- 10. Mongodb vs Cassandra para agregar, buscar y analizar muchos registros
- 11. Buscar y eliminar terminaciones de línea de DOS en Ubuntu
- 12. Buscar cadena en archivo de texto C
- 13. Cómo buscar una cadena en una matriz
- 14. php Buscar cadena
- 15. Buscar cadena y obtener recuento en el editor vi
- 16. Buscar y reemplazar cadena en el parámetro bash
- 17. Buscar y reemplazar números en cadena con expresiones regulares
- 18. URL querystring - Buscar, reemplazar, agregar, actualizar valores?
- 19. ¿Agregar una nueva línea en el archivo?
- 20. Buscar una cadena o parte de cadena en PHP
- 21. jQuery buscar por atributo css en línea
- 22. Buscar texto en una cadena con C#
- 23. C# buscar partido exacto en la cadena
- 24. buscar y reemplazar desde la línea de comandos de UNIX
- 25. mysql buscar/reemplazar cadena en los campos
- 26. PHP Buscar cadena en el archivo CSV
- 27. Buscar cadena de caracteres en datos binarios
- 28. Buscar cadena más común en una matriz
- 29. Buscar subcadena en una cadena usando C#
- 30. Buscar una palabra en una cadena
Para aclaración. Cuando se utiliza el sustituto, ¿el símbolo comercial lo agrega? ¿O contiene la línea que está reemplazando para que pueda anteponer "% s/string de búsqueda/\ rnewcode & /"? – VolatileStorm
@Jaypal '% s /^.* cadena de búsqueda. * $/& \ Rnuevo código /' podría ser mejor? El tuyo puede romper la línea original. por ejemplo, si la línea es "search string = xyz" o "foosearch string = barsearch string" – Kent
'\ r' es una nueva línea en una cadena sustituta. En un patrón de búsqueda '\ n' es una nueva línea. – Benoit