Tengo un largo documento de comandos. Usando Notepad ++ o regex, quiero eliminar todas las líneas que contienen "ayuda" incluyendo keyboard_help, etc.
¿Cómo se puede hacer esto?
Esto también es posible con Notepad ++:
Verifique la línea de Marcador (si no hay una actualización de la pestaña Marca en la versión actual).
Ingrese su término de búsqueda y haga clic en Marcar todo
Ahora vaya al menú Buscar → Marcador → Eliminar líneas marcadas
Hecho.
cden la ruta y escribir un comando complejo (preocupándome por la sintaxis y por atornillar permanentemente y luego darse cuenta no hay respaldo). [ No me malinterpretes, uso comandos de consola todo el tiempo para otras cosas, pero para algo como esto, es simplemente una exageración.]BOOKMARK LINEes importante aquí, de lo contrario no funcionará.Otra forma de hacer esto en Notepad ++ es todo en el cuadro de diálogo Buscar / Reemplazar y con expresiones regulares:
Ctrl+ hpara que aparezca el cuadro de diálogo buscar reemplazar.
En el
Find what:cuadro de texto incluya su expresión regular:.*help.*\r?\n(donde\res opcional en caso de que el archivo no tenga terminaciones de línea de Windows).Deje el
Replace with:cuadro de texto vacío.Asegúrese de que esté seleccionado el botón de opción Expresión regular en el área Modo de búsqueda. Luego haga clic
Replace Ally listo!helpSe han eliminado todas las líneas que contienen su término de búsqueda .fuente
Tarea fácil con
grep:Agregar
> newFileNamepara redirigir la salida a un nuevo archivo.Actualizar
Para aclararlo, el comportamiento normal será imprimir las líneas en la pantalla. Para canalizarlo a un archivo,
>se puede usar. Por lo tanto, en este comando:grepllama algrepprograma, obviamente-ves una bandera para invertir la salida. Por defecto,grepimprime las líneas que coinciden con el patrón dado. Con esta bandera, imprimirá las líneas que no coinciden con el patrón.helpes el patrón a juegofilenamees el nombre del archivo de entrada>redirige la salida al siguiente elementonewFileNameel nuevo archivo donde se guardará la salida.Como habrá notado, no eliminará elementos de su archivo.
greplo leerá y se guardará otro archivo, modificado en consecuencia.fuente
grepinstalado. De todos modos, te recomiendo que instales GNU grep, ciertamente funcionará en Windows, y es una herramienta realmente útil.>en este caso), dando una orden final degrep -v help filename > outputFileNamePuedes hacer esto usando sed:
sed '/help/ d' < inputFile > outputFilefuente
sed '/^help/ d'debería funcionar. El^representa el inicio de la línea.sedygrepBuscar con una expresión regular:
fuente
\n\n, reemplace con `` (nada)Si estás en Windows , inténtalo
findstr. No se necesitan herramientas de terceros:¡También es compatible con expresiones regulares! Solo lea la ayuda de la herramienta
findstr /?.PD: si desea trabajar con archivos grandes y grandes (como archivos de registro de 400 MB), un editor de texto no es muy eficiente con la memoria, por lo que, como alguien ya señaló, las herramientas de línea de comandos son el camino a seguir. Pero no hay grep en Windows, así que ...
Acabo de ejecutar esto en un archivo de registro de 1 GB, y literalmente tardó 3 segundos.
fuente