我执行ps -ef命令,并且我将几个参数传递给正在运行的命令。我想只打印hostname \ process1之后的进程名称。我不能使用awk命令和-f来分解线路; ps命令输出不同,它不实用。所以也许我可以使用一个sed命令?
示例输入
/bin/ksh /var/tmp/xxx -bin -tin /tet/1/3/5/host1/bin/x1.sh
/bin/ksh /var/tmp/xyz -bin -tin /tet/1/3/5/host2/bin/y2.sh
/bin/ksh /var/tmp/ttt -bin -tin /tet/1/3/5/host3/bin/z3.sh
输出应该如下所示
host1 x1.sh
host1 y2.sh
host1 z3.sh
提前感谢你
答案 0 :(得分:1)
awk -F/ '{print $(NF-2), $NF}'
为您提供所需的输出。
答案 1 :(得分:0)
sed
替代方法:
sed -E 's:.*/([^/]+)/[^/]+/([^/]+)$:\1 \2:' file
输出:
host1 x1.sh
host2 y2.sh
host3 z3.sh