Digamos que tenemos un archivo de texto de líneas prohibidas forbidden.txt
. ¿Cuál es una forma corta de filtrar todas las líneas de una salida de comando que existen en el archivo de texto?
cat input.txt | exclude-forbidden-lines forbidden.txt | sort
fgrep -vxf forbidden.txt input.txt | sort
Respuestas:
Usar
grep
así:Esa larga lista de opciones para los
grep
medios-v
Invierta el sentido del partido, es decir, busque cosas que no coincidan.-x
Al hacer coincidir un patrón, requiera que el patrón coincida con la línea completa , es decir, no solo en cualquier lugar de la línea.-F
Al hacer coincidir un patrón, trátelo como una cadena fija , es decir, no como una expresión regular.-f
Leer patrones del archivo dado (forbidden.txt
).Luego canalice eso
sort
o lo que quiera hacer con él.fuente