+-

有没有办法使用cut命令为更多空格指定字段分隔符? (喜欢 ” ” ) ?
例如:在下面的字符串中,我想达到值’3744′,我应该说什么字段分隔符?
例如:在下面的字符串中,我想达到值’3744′,我应该说什么字段分隔符?
$ps axu | grep jboss
jboss 2574 0.0 0.0 3744 1092 ? S Aug17 0:00 /bin/sh /usr/java/jboss/bin/run.sh -c example.com -b 0.0.0.0
cut -d”不是我想要的,因为它只适用于单个空间.
awk不是我想要的,但是如何处理’cut’?
谢谢.
最佳答案
实际上awk正是你应该研究的工具:
ps axu | grep '[j]boss' | awk '{print $5}'
或者你可以完全抛弃grep,因为awk知道正则表达式:
ps axu | awk '/[j]boss/ {print $5}'
但是,如果由于某些奇怪的原因,你真的不能使用awk,那么你可以做其他更简单的事情,比如首先将所有空格折叠到一个空格:
ps axu | grep '[j]boss' | sed 's/\s\s*/ /g' | cut -d' ' -f5
顺便说一下,那个grep技巧是一个简单的方法,只能获得jboss进程,而不是grep jboss(同样适用于awk变体).
grep进程在其process命令中将有一个文字grep [j] boss,因此grep本身不会捕获它,它正在查找boss后面的字符类[j].
这是避免|的一种极好的方法grep xyz |某些人使用的grep -v grep范例.
点击查看更多相关文章
转载注明原文:linux – 如何使用cut为分隔符指定更多空格? - 乐贴网