读取并输出bash中的矩阵文件

时间:2018-06-29 14:36:38

标签: bash

假设我有如下所述的matrix.txt文件

3   4   2   2   5
1   2   3   7   6
3   5   6   7   5
9   0   8   6   5
7   6   8   9   5

现在我想用bash读取和输出前3行和3列,有人可以帮我怎么做吗?

非常感谢您!

2 个答案:

答案 0 :(得分:1)

$ awk 'NR>3{exit} {print $1,$2,$3}' matrix.txt
3 4 2
1 2 3
3 5 6

NR:行数。

$1,$2,$3:第一,第二和第三列

要打印n行和m列:

$ awk -v row=3 -v col=3 'NR>row{exit} {for (i=1; i<=col; i++)printf $i" "; print ""}' matrix.txt
3 4 2 
1 2 3 
3 5 6 

答案 1 :(得分:0)

使用切割也许是最简单的

cut -d' ' -f1-3 matrix.txt | head -3