2009-11-23 72 views

回答

2
awk '$1=="number"{print $2}' file 
+0

谢谢你。该命令是否意味着打印字段2,其中字段1 ==数字? – baltoro 2009-11-23 07:21:20

+0

是的,没错。 – ghostdog74 2009-11-23 07:27:22

1

使用grep和剪裁,这将返回仅数

cat ./file.txt | grep number | cut -d " " -f 2 
+1

不需要猫。 grep number file.txt | ..... – ghostdog74 2009-11-23 07:08:31

2

用AWK:

cat ./file.text | awk '/number/ {print $2}' 
+0

不需要猫。 awk'.....'file.txt – ghostdog74 2009-11-23 07:10:52

+1

我更喜欢使用cat,使命令更具可读性和便携性。你可以用任何产生你想分析的输出来替换猫。 – 2009-11-23 09:12:23

+0

与猫,你增加3个字符。另外,你创建一个额外的管道过程。便携式?凭什么?将文件提供给awk的输入不是/或不太便携?如果它的大文件是 – ghostdog74 2009-11-23 14:14:22

1

另一种方法是使用awk

awk '/number/ {print $2}' < ./file.txt 

这是一个单一的命令,有些人喜欢。如果它是一个大文件,你可能更喜欢cat | grep | cut,因为这三个程序在不同的进程中运行。

+0

,只需使用awk !. cat + grep + cut +无论在大文件上操作昂贵。另外,不需要重定向。只需将文件直接传递给awk即可。 – ghostdog74 2009-11-23 07:11:59

相关问题