例如,有一个名为tmp.dat的数据文件,其中数据为以下形式:
x1 x2 x3 x4 x5 x6 x7
. . . . . . .
我的目标是只提取x3和x4这两列。
如何使用awk命令进行减少工作?
我知道使用带有打开命令的C / C ++的方法,但这很麻烦。
答案 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)
cut
和awk
是您最好的选择。以下是您在bash
中的行为:
while read -ra line; do echo "${line[2]} ${line[3]}"; done < tmp.dat
答案 4 :(得分:0)
GNU代码sed:
$ 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