我正在尝试打印输出的第一行的第一个字段。 这是事实。 我只需要从这个输出中只打印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