You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Solaris系统ps命令如何修改输出分隔符?有无类似Linux的AIX格式描述符?

Solaris系统修改ps命令输出分隔符的实现方案

Solaris原生ps没有提供和Linux一致的AIX格式描述符功能来直接指定输出分隔符,你可以通过以下两种稳定的替代方案实现需求:

  • 方案1:自定义字段后用awk处理,适配含空格的命令行场景
    先用-o参数指定需要输出的字段,再通过Solaris自带的nawk处理输出,避免命令行自带的空格被误识别为分隔符,以下示例将分隔符设置为逗号,输出字段为PID、PPID、运行用户、完整命令行:
    ps -eo pid,ppid,ruser,args | nawk '
    BEGIN { OFS = "," }
    NR == 1 {
        # 处理表头,将多个连续空格替换为指定分隔符
        gsub(/ +/, OFS)
        print
    }
    NR > 1 {
        cmd = ""
        # 前3个字段为固定输出字段,剩余内容合并为命令行字段
        for(i = 4; i <= NF; i++) {
            cmd = cmd " " $i
        }
        print $1, $2, $3, substr(cmd, 2)
    }
    '
    
    你可以根据自己的需求调整OFS的值为目标分隔符,同步修改字段对应处理逻辑即可。
  • 方案2:字段格式化时直接插入分隔符,适合简单场景
    Solaris的ps支持在指定输出字段时设置宽度并插入固定字符,你可以直接在每个字段后插入分隔符再做简单格式化,以下示例使用|作为分隔符:
    ps -eo "pid:10|", "ppid:10|", "ruser:15|", args | sed 's/ *| */|/g'
    
    代码中:10是指定对应字段的输出宽度,你可以根据实际业务的字段长度调整,避免字段内容被截断。

注意:如果你的场景中需要处理包含特殊字符的命令行输出,优先选择方案1,可避免分隔符误匹配问题。

内容的提问来源于stack exchange,提问作者MK Span

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 01:24:01