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