当我使用awk运行以下hasys命令时,我得到的机器名称输出如下:
hasys -display|grep Shutdown | awk '{print $1}'
machine1a
machine1b
Run Code Online (Sandbox Code Playgroud)
请建议如何在一行中打印机器名称,如下所示:示例
hasys -display|grep Shutdown | awk '{print $1}'
machine1a machine1b
Run Code Online (Sandbox Code Playgroud)
我需要在我的 awk 语法中添加什么,以便我能够在一行中打印名称?
dev*_*ull 10
你可以说:
hasys -display | grep Shutdown | awk '{print $1}' ORS=' '
Run Code Online (Sandbox Code Playgroud)
该grep带awk是多余的:
hasys -display | awk '/Shutdown/ { printf "%s ", $1 }'Run Code Online (Sandbox Code Playgroud)
hasys -display | awk '/Shutdown/ {print $1}' | paste -sd ' ' -
Run Code Online (Sandbox Code Playgroud)
与@devnull's和@jasonwryan's相反,这个不添加尾随空格并终止该行。是将行连接到分隔列表的通用习惯用法。paste -sd<sep> -<sep>