Actualmente, mi script de shell itera las líneas en un archivo enorme dos veces: (Lo que quiero hacer es como el script de shell a continuación).
grep 'some_text' huge_file.txt > lines_contains_a.txt grep -v 'some_text' huge_file.txt > lines_not_contains_a.txtpero es lento
¿Cómo hacer lo mismo solo iterar las líneas una vez?
¡Gracias!
Con GNU awk:
awk '/some_text/ { print >> "lines_contains_a.txt" } !/some_text/ { print >> "lines_not_contains_a.txt" }' huge_file.txtcon sed:
sed -n '/some_text/ w lines_contains_a.txt /some_text/! w lines_not_contains_a.txt' huge_file.txt