有什么方法可以使用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来获得最后一个元素: …,如果模式不匹配: