Solución:
Utilice lo siguiente:
type file.txt | findstr /v ERROR | findstr /v REFERENCE
Esto tiene la ventaja de utilizar herramientas estándar en el sistema operativo Windows, en lugar de tener que buscar e instalar sed / awk / perl y demás.
Vea la siguiente transcripción para verlo en funcionamiento:
C:>type file.txt Good Line of data bad line of C:DirectoryERRORmyFile.dll Another good line of data bad line: REFERENCE Good line C:>type file.txt | findstr /v ERROR | findstr /v REFERENCE Good Line of data Another good line of data Good line
Puede lograr la misma solución que la de @ paxdiablo usando solo findtr por sí mismo. No es necesario unir varios comandos:
findstr /V "ERROR REFERENCE" infile.txt > outfile.txt
Detalles de cómo funciona esto:
- / v encuentra líneas que no coinciden con la cadena de búsqueda (el mismo conmutador que usa @paxdiablo)
- si la cadena de búsqueda está entre comillas, realiza una búsqueda OR, usando cada palabra (el separador es un espacio)
- Findstr puede tomar un archivo de entrada, no necesitas alimentarlo con el texto usando el comando “type”
- “> outfile.txt” enviará los resultados al archivo outfile.txt en lugar de imprimirlos en su consola. (Tenga en cuenta que sobrescribirá el archivo si existe. Utilice “>> outfile.txt” en su lugar si desea agregarlo).
- También podría considerar agregar el modificador / i para hacer una coincidencia que no distinga entre mayúsculas y minúsculas.
Si ha sed:
sed -e '/REFERENCE/d' -e '/ERROR/d' [FILENAME]
Dónde FILENAME
es el nombre del archivo de texto con las líneas buenas y malas
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)