shell - una - ¿Cómo imprimir columnas seleccionadas separadas por pestañas?
como imprimir varias columnas de excel en una sola hoja (3)
Puede especificar el separador de campo como pestaña:
awk ''BEGIN { FS = "/t" } ; { print $1, $5 }'' filename > newfilename
O desde la línea de comandos de esta manera:
awk -F"/t" ''{ print $1, $5 }'' filename > newfilename
Tengo un archivo txt con columnas separadas por pestañas y, en base a ese archivo, deseo crear un nuevo archivo que solo contenga información de algunas de las columnas.
Esto es lo que tengo ahora:
awk ''{ print $1, $5 }'' filename > newfilename
Eso funciona, excepto que cuando la columna 5 contiene espacios, por ejemplo, 123 Street
, solo aparece 123
y la calle se considera como otra columna.
¿Cómo puedo lograr lo que intento hacer?
¿Qué hay de comand cut shell simple?
muy simple pero hace el trabajo
cut -d "/t" -f 1,5 filename > newfilename
Puede usar la sintaxis de Bash de la siguiente manera:
while IFS=$''/t'' read -a cols; do
printf "%s/t%s/n" "${cols[0]}" "${cols[4]}";
done < in.txt > newfile.txt
Esto guardará las columnas primera y quinta separadas por pestañas en el nuevo archivo.