Solución:
Necesitas usar awk:
awk '{print $1,$3}' <namefile>
Este sencillo comando permite imprimir la primera ($ 1) y la tercera ($ 3) columna del archivo. El software awk es mucho más poderoso. Creo que deberías echar un vistazo a la página de manual de awk.
Una buena combinación es usar grep y awk con una tubería. El siguiente código imprimirá las columnas 1 y 3 de solo las líneas de su archivo que contienen ‘p1’:
grep 'p1' <namefile> | awk '{print $1,$3}'
Si, en cambio, desea seleccionar líneas por número de línea, puede reemplazar grep con sed:
sed 1p <namefile> | awk '{print $1,$3}'
En realidad, awk se puede usar solo en todos los ejemplos:
awk '/p1/{print $1,$3}' <namefile> # will print only lines containing p1
awk '{if(NR == 1){print $1,$3}}' <namefile> # Will print only first line
Primero averigüe el comando para encontrar el número de columna.
columnname=C
sed -n "1 s/${columnname}.*//p" datafile | sed 's/[^t*]//g' | wc -c
Una vez que sepa el número, use cortar
cut -f1,3 < datafile
Combinar en un solo comando
cut -f1,$(sed -n "1 s/${columnname}.*//p" datafile |
sed 's/[^t*]//g' | wc -c) < datafile
¿Finalizado? No, deberías mejorar el primero sed
comando cuando un encabezado puede ser una subcadena de otro encabezado: incluya pestañas en su coincidencia y vuelva a colocar las pestañas en la cadena de reemplazo.