运行 最后在 awk [Solaris]

Running last in awk [Solaris]

我如何 运行 last 命令为 awk 中的每一行匹配?

ypcat passwd | awk -F":" '/:John / { system("last" )  }'

我正在尝试为名为 John 的每个用户执行 last 命令,但它没有打印任何内容。

last之后插入一个空格:

ypcat passwd | awk -F":" '/:John / {system("last " )}'

你的做法不对,awk不是shell。 awk 旨在操纵文本而不是从中调用其他工具,这就是 shell 的用途 这可能是您想要的,具体取决于 last is/does:

ypcat passwd | awk -F":" '/:John /{print }' | xargs last

或:

ypcat passwd | awk -F":" '/:John /{print }' | xargs -n 1 last