排列和列排用awk [英] Row to column and column to row using awk
本文介绍了排列和列排用awk的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个包含如下
cat file1.txt
a b c
1 2 3
cat file2.txt
a
b
c
1
2
3
我想文件1的方式排列
I want file1 to be arranged as
a
b
c
1
2
3
和文件2的方式排列
a b c
1 2 3
我会使用类似的解决方案的awk一行
I would like a solution using awk one line
推荐答案
一些 AWK
版本
awk 1 RS=" |\n" file1 # gnu awk version
awk '{for (i=1;i<=NF;i++) print $i}' file1 # portable version
a
b
c
1
2
3
结果
awk '{printf "%s" (NR%3==0?"RS:FS),$1}' file2
a b c
1 2 3
的printf%S
#打印pararameter#1($ 1)结果 NR%3 == 0RS:FS
#添加额外的格式测试,如果行号3。如果它不是,用FS(空格),如果它。是使用RS,新行。结果
所以这个调整每3行之后下一个参数。
printf "%s"
# print pararameter #1 ($1)
NR%3==0?"RS:FS
# add extra formatting. Test if line is number 3. If its not, use FS (a blank space), if it is use RS, a new line.
So this adjust the next parameter after every 3 line.
这篇关于排列和列排用awk的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文