【发布时间】:2015-11-09 06:28:58
【问题描述】:
我正在尝试使用 awk 的以下输出的字符串替换来获取最后一个文件 -
ps -ef |grep -i "[o]cssd.bin"
输出:
grid 47275 1 1 Sep23 ? 17:49:39 /opt/grid/12.1/bin/ocssd.bin
使用 awk 作为 -
$ ps -ef | grep -i "[o]cssd.bin" | awk '{ gsub("/ocssd.bin",""); print $NF}'
输出:
$NF}
/opt/grid/12.1/bin
如何避免 "$NF}" ?我只需要“/opt/grid/12.1/bin”..!
【问题讨论】:
-
该脚本不会输出字符串
NF}。如果你得到那个输出,那么你的脚本的其他部分有问题,你还没有向我们展示。另外,为什么要在 grep 中进行不区分大小写的搜索,然后在 awk sub() 中假设小写,以及将o放在 grep 中的方括号内有什么意义? -
@EdMorton 我不知道您的其他问题的答案,但括号中的 o 的原因是防止 grep 本身作为匹配项出现,人们也可以通过管道输入
grep -v grep跨度> -
@123 谢谢,我以前从未见过这种方法(或者没有注意到)。