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

时间:2014-03-05 07:05:32

标签: linux bash unix awk

我正在尝试打印输出第一行的第一个字段。情况就是这样。我只需要从此输出中仅打印SUSE

# cat /etc/*release

SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 2

尝试cat /etc/*release | awk {'print $1}',但打印每行的第一个字符串

SUSE
VERSION
PATCHLEVEL

9 个答案:

答案 0 :(得分:132)

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

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

另一种(丑陋的)实现同样的方法是:

awk '{print $1; exit}'

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

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

答案 1 :(得分:17)

使用NR内置变量指定行号

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

答案 2 :(得分:7)

试试这个:

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

答案 3 :(得分:2)

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

如果制表符分隔:

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

答案 4 :(得分:1)

您可以使用head代替cat

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

答案 5 :(得分:1)

awk,sed,pipe,那个沉重的

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

答案 6 :(得分:1)

df -h | head -4 | tail -1 | awk '{ print $2 }'

更改数字以根据您的喜好进行调整。

或者使用 while 循环,但这可能是一个糟糕的方法。

答案 7 :(得分:0)

尝试

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

其中NUM是行号

ex. sed '1q;d'  /etc/*release | awk {'print $1}'

答案 8 :(得分:0)

You can kill the process which is running the container.

With this command you can list the processes related with the docker container:

ps -aux | grep $(docker ps -a | grep container-name | awk '{print $1}')

Now you have the process ids to kill with kill or kill -9.