当前位置: 首页 > 面试题库 >

如何使用cut为分隔符指定更多空间?

毛镜
2023-03-14
问题内容

有什么方法可以使用cut命令为更多空间指定字段定界符吗?(例如“ +”)?例如:在以下字符串中,我希望达到值“ 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也不是我要找的东西,而是如何处理“切割”?

谢谢。


问题答案:

实际上,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过程将有文字grep [j]boss在其过程中的命令,以便将不会被捕获grep本身,角色职业,其正在[j]后面boss

这是避免| grep xyz | grep -v grep某些人使用的范例的好方法。



 类似资料:
  • 问题内容: 什么正则表达式模式需要我传递给 拆分成字符串使用的所有空格字符(子字符串数组,等)作为分隔符? 问题答案: 某些东西 这会将所有空白分组为分隔符。 因此,如果我有字符串: 这将产生字符串并省略和之间的空白。 正如VonC指出的那样,应该转义反斜杠,因为Java首先会尝试将字符串转义为特殊字符,然后将其发送给解析。你想要的是字面量,这意味着你需要通过。可能会造成一些混乱。 在相当于。

  • 问题内容: 我有一个文件,其中用分号“”分隔行。我想逐行阅读此文件,其中行应基于而不是换行符的存在。 一种方法是: 但是,如果我的文件太大,则内存使用效率不高。与其一起阅读整个文件,不如逐行阅读。 支持参数’newline’,但是此参数仅用作此处提到的输入。 有什么方法可以有效地读取文件行,但要基于预先指定的分隔符吗? 问题答案: 您可以使用生成器:

  • 我正在尝试理解如何使用listfragments和自定义适配器。所以我创建了这个小示例,我想知道在哪里可以将listview的分隔符设置为NULL。

  • 问题内容: 在新的API(apache.hadoop.mapreduce.KeyValueTextInputFormat)中,如何指定制表符(默认值)以外的分隔符(定界符)来分隔键和值。 样本输入: 需要的输出量: 我将KeyValueTextInputFormat指定为: 对于制表符作为分隔符,这工作正常。 问题答案: 在较新的API中,您应该使用配置属性。 这是一个例子:

  • 如果使用带有单个参数的第一个StringToknenizer构造函数并编写示例程序,结果是和12个令牌。它返回没有任何空格的整个句子。我明白这是怎么回事。 如果使用带有两个参数的第二个构造函数,我的测试程序将得到每个单词有空格,但没有逗号,只有两个标记。我认为它应该同时将空格和逗号作为标记分隔符计算,但它将逗号之前的所有内容作为1标记计算,将逗号之后的所有内容作为1标记计算。这部分让我很困惑。 我

  • 问题内容: 如何在JavaScript中使用多个分隔符拆分字符串?我正在尝试在逗号和空格上进行拆分,但是AFAIK,JS的拆分功能仅支持一个分隔符。 问题答案: 传递正则表达式作为参数: 编辑添加: 您可以通过选择数组的长度减去1来获得最后一个元素: …,如果模式不匹配: