我想得到输出中的头部。
ps lax |head -n 1
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
过滤后的行:
ps lax |grep openbox |grep -v grep
0 1000 1608 1513 20 0 206408 20580 SyS_po S ? 0:00 openbox --config-file /home/debian9/.config/openbox/lxde-rc.xml
我期望得到的是下面两行:
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
0 1000 1608 1513 20 0 206408 20580 SyS_po S ? 0:00 openbox --config-file /home/debian9/.config/openbox/lxde-rc.xml
如何用一个简单的命令将两行(head+filtered content)作为输出?
最佳答案
对于复合条件,您使用 awk,而不是 grep:
ps lax | awk 'NR==1 || /[o]penbox/'
请注意@Cyrus 和我的回答中 [o]
的惯用用法,以便正则表达式与此命令本身不匹配,因此您无需从 with 中显式删除此命令名称正则表达式。
关于bash - 如何用一个简单的命令将两行(标题+过滤后的内容)作为输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50808563/