![ordenar manteniendo el resultado codificado por colores de pdftotext find](https://rvso.com/image/168779/ordenar%20manteniendo%20el%20resultado%20codificado%20por%20colores%20de%20pdftotext%20find.png)
Tengo un comando de búsqueda que funciona perfectamente excepto que no ordena los resultados. ruta = ruta a la carpeta donde desea buscar foo = término de búsqueda
find /path/ -name '*.pdf' -exec sh -c 'pdftotext "{}" - | grep --with-filename --label="{}" --color -i "foo"' \;
resultado (en mi pantalla 'foo' está en rojo)
me@myComp ~ $ find /path/ -name '*.pdf' -exec sh -c 'pdftotext "{}" - | grep --with-filename --label="{}" --color -i "foo"' \;
/path/lesson 05.pdf:a foo
/path/lesson 05.pdf: (to have) a foo when I was 10 years old.
/path/lesson 07.pdf:a foo
/path/lesson 07.pdf:Elephant – foo – heavy
/path/lesson 07.pdf:Elephant – foo – heavy – light
/path/lesson 07.pdf:tigers – high – foos – to jump
/path/lesson 04.pdf:10 My foo (not to eat) fat.
/path/lesson 06.pdf:A: John lost the foos collar. B: Is this its ? (rarely used)
/path/lesson 06.pdf:A: This is my foo. .......... is a chihuahua. .......... name is Sleeper.
¿Hay alguna forma de ordenar el resultado alfabéticamente en la ruta/nombre de archivo mientras se mantiene foo en rojo? Como puede ver, la lección 04.pdf está entre la lección 07.pdf y la lección 06.pdf.
usando | ordenar al final da los resultados deseados excepto que foo ya no está en rojo.
muchas gracias
Respuesta1
Creo que esto debería hacer lo que quieres:
while read file; do pdftotext "$file" | grep --with-filename --label="$file" --color -i "foo"'; done < <(find /path/ -name '*.pdf' | sort)