关于 linux:cut 或 awk 命令打印第一行的第一个字段

cut or awk command to print first field of first row

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

1
2
3
4
5
# cat /etc/*release

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

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

1
2
3
SUSE
VERSION
PATCHLEVEL

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

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

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

1
awk '{print $1; exit}'

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

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


使用 NR 内置变量指定行号。

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

试试这个:

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

你可以用 head 代替 cat:

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

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

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

或者使用while循环,但这可能是一种不好的方法。


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

如果制表符分隔:

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

awk, sed, pipe, 太重了

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

试试

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

其中 NUM 是行号

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


你可以杀死正在运行容器的进程。

使用这个命令可以列出与docker容器相关的进程:

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

现在你有了用 kill 或 kill -9 杀死的进程 ID。