awk 从 atq 检索第一个字段报告

Abs*_*cDo 3 bash awk

我正在学习 awk 以提高我的技能并尝试过

$ atq | awk "{print $1}" 
28  Wed Oct 31 10:23:00 2018
27  Tue Oct 30 21:20:00 2018
25  Tue Oct 30 21:19:00 2018
29  Wed Oct 31 10:42:00 2018
26  Tue Oct 30 21:20:00 2018
20  Tue Oct 30 18:25:00 2018
30  Wed Oct 31 10:59:00 2018
32  Wed Oct 31 21:03:00 2018
23  Tue Oct 30 18:28:00 2018
31  Wed Oct 31 13:58:00 2018
19  Tue Oct 30 15:43:00 2018
21  Tue Oct 30 18:27:00 2018
Run Code Online (Sandbox Code Playgroud)

它没有按我预期的那样工作,但是将小程序一起工作相对容易

$ atq | cut -f 1
28
27
25
29
26
20
30
32
23
31
19
21
Run Code Online (Sandbox Code Playgroud)

如何使用 awk 检索第一个字段?

Sta*_* EG 8

试试下面的,

atq | awk '{print $1}'
Run Code Online (Sandbox Code Playgroud)

单引号阻止外壳扩展$1到外壳的第一个位置参数。

  • 另一种选择是`atq | awk "{print \$1}"` - 有时你需要双引号是有原因的,在这种情况下,转义 `$` 是必要的。人为的例子:`prefix="foo:"; atq | awk "{print $prefix, \$1}"`。当然,这通常可以使用 `awk` 的 `-v variable=...` 语法更好地完成,但有时它仍然很有用...... (3认同)