Extraiga columnas de un archivo basándose en el encabezado seleccionado de otro archivo

Tengo el siguiente problema que quiero resolver en awk. Tengo una tabla de texto grande, separada por comas, que consta de 100k filas y 5k cols. La primera fila es un encabezado y la primera columna es un ID de registro. Luego tengo un segundo archivo de texto que contiene un subconjunto de los encabezados en el primer archivo. Quiero extraer todas las columnas del primer archivo cuyo encabezado se encuentra en la lista que figura en el segundo archivo. Aquí un ejemplo de las entradas y la salida deseada:

DATA.TXT

   ID, head1, head2, head3, head4  
    1, 25.5, 1364.0, 22.5, 13.2  
    2, 10.1, 215.56, 1.15, 22.2  

LIST.TXT

head1  
head4  

Salida deseada:

ID, head1, head4  
1, 25.5, 13.2  
2, 10.1, 22.2

¿Alguien me puede dar algunos consejos sobre cómo resolver este problema en awk o, sin embargo, mediante scripts de Unix? ¡Gracias de antemano por cualquier ayuda!

Respuestas a la pregunta(2)

Su respuesta a la pregunta