如何通过awk命令减少数据?

时间:2013-07-18 18:11:01

标签: awk

例如,有一个名为tmp.dat的数据文件,其中数据为以下形式:

x1 x2 x3 x4 x5 x6 x7

.  .  .  .  .  . .

我的目标是只提取x3和x4这两列。

如何使用awk命令进行减少工作?

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

6 个答案:

答案 0 :(得分:3)

试试这个:

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

答案 1 :(得分:2)

你的意思是这样吗?

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

答案 2 :(得分:1)

琐碎:

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

你做过任何研究吗?

答案 3 :(得分:1)

cutawk是您最好的选择。以下是您在bash中的行为:

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

答案 4 :(得分: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)。

答案 5 :(得分:0)

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