Поместите каждое поле в строка и постколонка.
tr -s ' ' '\n' < infile
grep -o '[[:alnum:]]*' infile
sed 's/\s\+/\n/g' infile
или более переносимых:
sed 's/\s\+/\
/g' infile
awk '$1=$1' OFS='\n' infile
или
awk -v OFS='\n' '$1=$1' infile
Для 2 столбцов:
... | paste - -
Для 3 столбцов:
... | paste - - -
и т. Д.
Для 2 столбцов:
... | sed 'N; s/\n/\t/g'
Для 3 столбцов:
... | sed 'N; N; s/\n/\t/g'
и т. Д.
... | xargs -n number-of-desired-columns
Поскольку xargs
использует / bin / echo
для печати, помните, что данные, которые выглядят как параметры для echo
, будут интерпретироваться как таковые.
... | awk '{ printf "%s", $0 (NR%n==0?ORS:OFS) }' n=number-of-desired-columns OFS='\t'
... | pr -at -number-of-desired-columns
или
... | pr -at -s$'\t' -number-of-desired-columns
... | columns -c number-of-desired-columns
a aa aaa
b bb bbb
c cc ccc
d dd ddd
e ee eee
f ff fff
g gg ggg
h hh hhh
i ii iii
j jj jjj