我想这么做:
举个例子,假设我想从 $PID
中获取命令名(请注意这只是一个例子,我并不是说这是从进程 id 中获取命令名最简单的方法——我真正的问题是另一个输出格式我无法控制的命令)。
如果我运行 ps
,我得到:
PID TTY TIME CMD
11383 pts/1 00:00:00 bash
11771 pts/1 00:00:00 ps
现在我做 ps | egrep 11383
然后得到
11383 pts/1 00:00:00 bash
Next step: ps | egrep 11383 | cut -d" " -f 4
. Output is:
<absolutely nothing/>
问题是 cut
将输出减少了一个空格,当 ps
在第2列和第3列之间添加一些空格以保持表的相似性时,cut
选择了一个空字符串。当然,我可以使用 cut
来选择第7个字段,而不是第4个字段,但我怎么知道,特别是当输出是可变的和未知的事先。