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

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)

  • +1击败我20秒**和**为*丑*但更快的替代品.**通过添加"NR"链接更新**并成为一个聪明的裤子.儿! (6认同)
  • 它不丑陋.它甚至更好,因为在大文件上,它会通过退出找到并停止处理来节省大量时间. (2认同)

jay*_*ngh 17

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

awk 'NR==1{print $1}' /etc/*release
Run Code Online (Sandbox Code Playgroud)


dev*_*per 7

试试这个:

head -1 /etc/*release | awk '{print $1}'
Run Code Online (Sandbox Code Playgroud)


ret*_*man 5

df -h | head -4 | tail -1 | awk '{ print $2 }'
Run Code Online (Sandbox Code Playgroud)

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

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