首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用cut为分隔符指定更多的空格?

如何使用cut为分隔符指定更多的空格?
EN

Stack Overflow用户
提问于 2011-08-22 10:52:04
回答 10查看 161.9K关注 0票数 219

有没有办法用cut命令为更多的空格指定一个字段分隔符?(像“"+)?例如:在下面的字符串中,我喜欢达到值'3744',我应该说哪个字段分隔符?

代码语言:javascript
复制
$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‘呢?

谢谢。

EN

回答 10

Stack Overflow用户

发布于 2014-01-31 17:40:08

awk版本可能是最好的选择,但如果您首先使用tr压缩重复,您也可以使用cut

代码语言:javascript
复制
ps axu | grep jbos[s] | tr -s ' ' | cut -d' ' -f5
#        ^^^^^^^^^^^^   ^^^^^^^^^   ^^^^^^^^^^^^^
#              |            |             |
#              |            |       get 5th field
#              |            |
#              |        squeeze spaces
#              |
#        avoid grep itself to appear in the list
票数 127
EN

Stack Overflow用户

发布于 2015-04-17 04:42:52

为此,我喜欢使用tr -s命令

代码语言:javascript
复制
 ps aux | tr -s [:blank:] | cut -d' ' -f3

这会将所有空格压缩到1个空格。这样,告诉cut使用一个空格作为分隔符,就像预期的那样。

票数 44
EN

Stack Overflow用户

发布于 2015-05-06 00:52:32

我将提名tr -s [:blank:]作为最佳答案。

为什么我们要使用cut?它有一个神奇的命令,说“我们需要第三个字段和它后面的每个字段,忽略前两个字段”。

代码语言:javascript
复制
cat log | tr -s [:blank:] |cut -d' ' -f 3- 

我不相信在awk或perl split中有类似的命令,我们不知道会有多少个字段,也就是输出第三个字段到字段X。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7142735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档