假设一个简单的grep,例如:
$ psa aux | grep someApp
1000 11634 51.2 0.1 32824 9112 pts/1 SN+ 13:24 7:49 someApp
Run Code Online (Sandbox Code Playgroud)
这提供了很多信息,但由于缺少 ps 命令的第一行,因此没有信息的上下文。我更希望显示 ps 的第一行:
$ psa aux | someMagic someApp
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
1000 11634 51.2 0.1 32824 9112 pts/1 SN+ 13:24 7:49 someApp
Run Code Online (Sandbox Code Playgroud)
当然,我可以为 ps 专门为 grep 添加一个正则表达式:
$ ps aux | grep -E "COMMAND|someApp"
Run Code Online (Sandbox Code Playgroud)
但是,我更喜欢更通用的解决方案,因为在其他情况下我也希望拥有第一行。
似乎这将是“stdmeta”文件描述符的一个很好的用例。
我从一个程序中获取输出,该程序首先生成一行,即一堆列标题,然后是一堆数据行。我想剪切此输出的各个列并查看它根据各个列排序。在没有标题的情况下,通过-k
选择与列sort
一起cut
或awk
查看列的子集,可以轻松完成剪切和排序。但是,这种排序方法将列标题与输出的其余行混合在一起。有没有一种简单的方法可以将标题保持在顶部?