Orden de clasificación de la salida cuando se usa sed y se itera en la carpeta

Orden de clasificación de la salida cuando se usa sed y se itera en la carpeta

Estoy usando el siguiente comando sed para encontrar una cadena entre patrones para cada archivo en una carpeta, los archivos se llaman 01.txt, 02.txt, etc.:

sed -n '/PAT1/,/PAT2/{/PAT1/!{/PAT2/!p}}' * >> file

pero la salida no está ordenada por el mismo orden de archivos en el directorio, sino por algún otro orden. Intenté realizar la clasificación, pero el orden se distribuye entre TODAS las coincidencias/Todos los archivos, que no es lo que estoy buscando. Quiero que la salida se agregue en el mismo orden 01.txt, 02.txt. He visto a grep hacer lo mismo, encontrar coincidencias y saltar de un archivo a otro. Prefiero usar sed pero grep es una opción. gracias.

Respuesta1

Tuve que recurrir a un guión, todavía una línea:

for f in file*.txt; do sed -n 'PAT1/,/PAT2/{/PAT1!{/PAT2};}' $f >> outputfile; done

información relacionada