Shell脚本的一些常见用法
行列操作
1. 多行组合成一行
原始文件 foo.txt
17940
17681
16104
15067
14529
14475
使用命令cat foo.txt | xargs -n 2
得到:
17940 17681
16104 15067
14529 14475
可以看到xargs
是以行为主序列的,xargs -n 2
表明两个为一行
2. 多行组合成一列
利用了分栏命令cat foo.txt | pr -c3 -t -s' '
可将foo.txt
转换为如下:
17940 16104 14529
17681 15067 14475
每2行组成一列,-c3 表明分成3栏输出,-t 忽略标题, -s’ '表明以空格分隔,具体请man pr
.
3. 行列转换
原始文件fooLine.txt
17940 17681
16104 15067
14529 14475
转换成文件
17940 16104 14529
17681 15067 14475
使用命令cat fooLine.txt | xargs -n 1 | pr -c3 -t -s' '
,首先利用xargs -n 1
将行主序列的文件转换成一列输出,然后使用pr
命令进行分栏即可进行相应的行列转换。