cut或awk命令打印第一行的第一个字段

我正在尝试打印输出的第一行的第一个字段。 这是事实。 我只需要从这个输出中只打印SUSE

 # cat /etc/*release SUSE Linux Enterprise Server 11 (x86_64) VERSION = 11 PATCHLEVEL = 2 

试图与cat /etc/*release | awk {'print $1}' cat /etc/*release | awk {'print $1}'但是打印每一行的第一个string

 SUSE VERSION PATCHLEVEL 

如果要从所选行中捕获输出,请指定NR

 awk 'NR==1{print $1}' /etc/*release 

另一种( 丑陋的 )实现方式是:

 awk '{print $1; exit}' 

从输出中的特定行(如第42行)获取第一个字符串的有效方法是:

 awk 'NR==42{print $1; exit}' 

使用NR内置变量指定行号

 awk 'NR==1{print $1}' /etc/*release 

尝试这个:

 head -1 /etc/*release | awk '{print $1}' 

你可以用head代替cat

 head -n1 /etc/*release | awk '{print $1}' 

尝试

 sed 'NUMq;d' /etc/*release | awk {'print $1}' 

NUM是行号

 ex. sed '1q;d' /etc/*release | awk {'print $1}' 
 sed -n 1p /etc/*release |cut -d " " -f1 

如果制表符分隔:

 sed -n 1p /etc/*release |cut -f1 

awk,sed,pipe,这很重

 set `cat /etc/*release`; echo $1