linux - 在 shell 中解析 ps 和 grep 输出

标签 linux bash shell grep cgi

当我执行“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/

相关文章:

linux - Linux 脚本中 while/case 语句的问题

通过 cron 运行时的 PHP 系统命令

linux - 将文件读入变量,然后用转义字符替换控制字符

linux - 使用 Last 和 tr 剪切行和列

从 Shell 文件启动时 Python 脚本无法运行,但从终端启动时可以运行

linux - 需要使用 unix 脚本移动具有文件路径的目录中的文件名

linux - 以编程方式在服务器之间复制文件 : scp or mount?

java - 如何在 Java 守护进程中捕获 linux 用户注销信号?

linux - 在centos中安装spring boot应用程序不起作用

node.js - 如何使用 TypeScript 制作 shell 可执行 Node 文件