-1

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

x1 x2 x3 x4 x5 x6 x7

.  .  .  .  .  . .

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

我怎样才能使用 awk 的命令来做减少工作?

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

4

6 回答 6

3

尝试这个:

 awk '{print $3,$4}' tmp.dat
于 2013-07-18T18:14:20.937 回答
2

你的意思是这样吗?

cut -d' ' -f3,4 tmp.dat
于 2013-07-18T18:11:53.727 回答
1

琐碎的:

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

你做过研究吗?

于 2013-07-18T18:14:42.513 回答
1

cut并且awk是您最好的选择。以下是您的做法bash

while read -ra line; do echo "${line[2]} ${line[3]}"; done < tmp.dat
于 2013-07-18T18:25:06.293 回答
0
perl -lane 'print "@F[2,3]"' your_file
于 2013-07-19T05:59:47.213 回答
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)。

于 2013-07-18T20:36:08.200 回答