当我执行“ps -ef | grep port”时收到以下消息
apache 6215 1 0 11:20 ? 00:00:00 perl /scripts/myscript.pl -sn 4123E -sku HSME01-HW -port 8
有没有办法解析以下内容:
- 开始时间(11:20)
- SN (4123E)
- sku (HSME01-HW)
- 端口 (8)
最佳答案
您可以使用 awk
进行过滤和解析:
ps -ef | awk '/[p]ort/ {printf "start time: %s\nsn: %s\nsku: %s\nport: %s\n", $5, $11, $13, $NF}'
正如 glenn jackman 在评论中指出的那样,过滤字符串中的方括号阻止表达式匹配进程列表中的过滤字符串本身。
关于linux - 在 shell 中解析 ps 和 grep 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18088224/