use*_*975 57 unix linux bash awk
我正在尝试打印输出第一行的第一个字段.情况就是这样.我只需SUSE要从这个输出打印.
# cat /etc/*release
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 2
Run Code Online (Sandbox Code Playgroud)
尝试cat /etc/*release | awk {'print $1}'但打印每行的第一个字符串
SUSE
VERSION
PATCHLEVEL
Run Code Online (Sandbox Code Playgroud)
dev*_*ull 144
指定NR是否要捕获所选行的输出:
awk 'NR==1{print $1}' /etc/*release
Run Code Online (Sandbox Code Playgroud)
另一种(丑陋的)实现方法是:
awk '{print $1; exit}'
Run Code Online (Sandbox Code Playgroud)
从输出中的特定行(例如第42行)获取第一个字符串的有效方法是:
awk 'NR==42{print $1; exit}'
Run Code Online (Sandbox Code Playgroud)
jay*_*ngh 17
使用内置变量指定行号NR.
awk 'NR==1{print $1}' /etc/*release
Run Code Online (Sandbox Code Playgroud)
df -h | head -4 | tail -1 | awk '{ print $2 }'
Run Code Online (Sandbox Code Playgroud)
更改数字以根据您的喜好进行调整。
或者使用 while 循环,但这可能是一个糟糕的方法。