linux中一行数据和多行数据相互转换
#一行数据分割成多行
awk 'BEGIN{i=1}{gsub(/,/,",\n");i++;print}' file.txt
#两行数据合并成一行
sed -n '{N;s/\n/ /p}' file.txt
#指定几行数据合并成一行(此为10行)
awk '{if (NR%10==0){print $0} else {printf"%s ",$0}}' file.txt
或
cat file.txt | awk '{if(NR%10!=0)ORS=" ";else ORS="\n";print}'
#多行数据合并成一行
awk BEGIN{RS=EOF}'{gsub(/\n/," ");print}' file.txt
或
sed ':a ; N;s/\n/ / ; t a ; ' file.txt
或
cat file.txt | xargs
或
cat file.txt | tr '\n' ' '