列转行
1、paste
liujiaxin01@PC1:~/test$ seq -f %02g 10 01 02 03 04 05 06 07 08 09 10 liujiaxin01@PC1:~/test$ seq -f %02g 10 > a.txt liujiaxin01@PC1:~/test$ cat a.txt 01 02 03 04 05 06 07 08 09 10 liujiaxin01@PC1:~/test$ paste -s -d " " a.txt 01 02 03 04 05 06 07 08 09 10
2、tr + sed
liujiaxin01@PC1:~/test$ cat a.txt 01 02 03 04 05 06 07 08 09 10 liujiaxin01@PC1:~/test$ tr "\n" " " < a.txt | sed 's/$/\n/' 01 02 03 04 05 06 07 08 09 10
3、xargs(这个命令有局限性, 行数有限制)
liujiaxin01@PC1:~/test$ cat a.txt 01 02 03 04 05 06 07 08 09 10 liujiaxin01@PC1:~/test$ cat a.txt | xargs 01 02 03 04 05 06 07 08 09 10
4、awk
liujiaxin01@PC1:~/test$ cat a.txt 01 02 03 04 05 06 07 08 09 10 liujiaxin01@PC1:~/test$ awk '{printf("%s ", $0)} END {printf("\n")}' a.txt 01 02 03 04 05 06 07 08 09 10
行转列
测试数据
liujiaxin01@PC1:~/test$ seq -f %02g 10 | paste -d " " -s > a.txt liujiaxin01@PC1:~/test$ cat a.txt 01 02 03 04 05 06 07 08 09 10
1、tr
liujiaxin01@PC1:~/test$ cat a.txt 01 02 03 04 05 06 07 08 09 10 liujiaxin01@PC1:~/test$ cat a.txt | tr " " "\n" 01 02 03 04 05 06 07 08 09 10
2、sed
liujiaxin01@PC1:~/test$ cat a.txt 01 02 03 04 05 06 07 08 09 10 liujiaxin01@PC1:~/test$ sed 's/ /\n/g' a.txt 01 02 03 04 05 06 07 08 09 10
3、xargs(有局限性)
liujiaxin01@PC1:~/test$ cat a.txt 01 02 03 04 05 06 07 08 09 10 liujiaxin01@PC1:~/test$ cat a.txt | xargs -n 1 01 02 03 04 05 06 07 08 09 10
4、awk
liujiaxin01@PC1:~/test$ cat a.txt 01 02 03 04 05 06 07 08 09 10 liujiaxin01@PC1:~/test$ awk '{ORS = " "}{print $0} END {printf("\n")}' a.txt 01 02 03 04 05 06 07 08 09 10
5、awk
liujiaxin01@PC1:~/test$ cat a.txt 01 02 03 04 05 06 07 08 09 10 liujiaxin01@PC1:~/test$ awk '{for(i = 1; i <= NF; i++) printf("%s%s", $i,"\n")}' a.txt 01 02 03 04 05 06 07 08 09 10
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。