Preguntas etiquetadas con regex

15
Cómo enumerar todos los archivos de origen (* .c, * .cpp, * .h)

Me gustaría encontrar archivos fuente (* .c, * .cpp, * .h) que contengan en Linux / MinGW / Cygwin, y de forma recursiva en todos los subdirectorios. Mi idea básica es usar findy grep. Sin embargo, construir una expresión regular que pueda verificar el nombre de archivo dado es * .c, * .cpp o * .h...

13
Grep patrón multilínea

¿Cómo busco una frase en varias líneas? Por ejemplo, tengamos la frase "mi té helado", entonces puede estar envuelto en archivos de texto: as js skdfh dfh djh sf my ice tea. grep no coincidirá ya que hay una nueva línea en el medio. ¿Cómo hago coincidir esos? Otro patrón multilínea...

13
¿Cómo reemplazar recursivamente caracteres con sed?

¿Es posible reemplazar las ocurrencias de una secuencia de caracteres de forma recursiva sin repetir nuevamente la misma secuencia? Al realizar un sedcomo en los siguientes escenarios, puedo obtener el resultado mencionado. $ echo XX | sed -e 's/XX/XoX/g' XoX $ echo XXX | sed -e...

12
Regex para "o" de varias palabras en grep

[Computer]$ grep "foo|bar" filename Entiendo que el comando anterior debe devolver cada línea en el nombre del archivo donde sale "foo" o "bar". Las páginas man confirman | como Regex o símbolo y el código funciona para "foo" y "bar" de forma independiente. ¿Qué me estoy

11
Reemplazar [0-9] con [AJ] no funciona con sed

Estoy trabajando en un comando que reemplaza todos los dígitos 0-9 con sus letras correspondientes en sed. Sé que estoy haciendo algo mal, pero sed no está interpretando la expresión regular de reemplazo como algo más que un literal de cadena. El comando que estoy usando es sed -r...

10
¿Hay un opuesto de: g en vim?

Sé cómo hacer algo en cada línea que coincida con un patrón, usando :g. ¿Hay alguna manera de hacer algo en cada línea que no coincida con el patrón? Por ejemplo, supongamos que quiero eliminar cada línea que no coincide con / foo /. Podría hacer algo como: :G/foo/d ( :Gno es lo contrario de...

8
¿Cómo hago un bloque de búsqueda y reemplazo con Vim?

Tengo texto en Vim golpear Ctrl+Va poner vim en modo de bloque resaltar el texto que quiero escriba :esto le da el indicador de este:'<,'> Agrego a la solicitud mi expresión regular s/ /*/g. Esto me deja con :'<,'>s/ /*/gy el texto resaltado Presiono enter Desafortunadamente, opera...