2013-07-18 34 views
-1

例如,有tmp.dat,在命名的数据文件,该数据是这样的形式:如何通过awk命令减少数据?

x1 x2 x3 x4 x5 x6 x7 

. . . . . . . 

我的目标是只提取X3和X4这两个列。

我该如何使用awk的命令来完成这个简化工作?

我知道使用C/C++打开命令的方法,但这很麻烦。

+0

我低估了这个问题,因为你可以很容易地在网上找到答案。 – Bernhard

回答

2

您的意思是这样的?

cut -d' ' -f3,4 tmp.dat 
3

试试这个:

awk '{print $3,$4}' tmp.dat 
+0

谢谢,它的工作原理。 –

1

简单:

$ awk '{print $3,$4}' file 

你做任何研究吗?

+0

对不起,我是awk中的新成员。谢谢,它的作品。 –

+1

您需要阅读http://stackoverflow.com/help –

1

cutawk是你最好的选择。这里是你如何在bash做:

while read -ra line; do echo "${line[2]} ${line[3]}"; done < tmp.dat 
+0

谢谢,它的工作原理。 –

0

代码GNU

 
$ echo x1 x2 x3 x4 x5 x6 x7|sed -r 's/(\S+\s+){2}(\S+\s+\S+).*/\2/' 
x3 x4 

\S+\s+约为$x(AWK)。

0
perl -lane 'print "@F[2,3]"' your_file