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.
cd
en 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 LINE
es 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\r
es 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 All
y listo!help
Se han eliminado todas las líneas que contienen su término de búsqueda .fuente
Tarea fácil con
grep
:Agregar
> newFileName
para 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:grep
llama algrep
programa, obviamente-v
es una bandera para invertir la salida. Por defecto,grep
imprime las líneas que coinciden con el patrón dado. Con esta bandera, imprimirá las líneas que no coinciden con el patrón.help
es el patrón a juegofilename
es el nombre del archivo de entrada>
redirige la salida al siguiente elementonewFileName
el nuevo archivo donde se guardará la salida.Como habrá notado, no eliminará elementos de su archivo.
grep
lo leerá y se guardará otro archivo, modificado en consecuencia.fuente
grep
instalado. 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 > outputFileName
Puedes hacer esto usando sed:
sed '/help/ d' < inputFile > outputFile
fuente
sed '/^help/ d'
debería funcionar. El^
representa el inicio de la línea.sed
ygrep
Buscar 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