【发布时间】:2016-08-30 23:13:34
【问题描述】:
如何在一行中打印grep -o 的输出?我正在尝试打印:
$ echo "Hello Guys!" |grep -E '[A-Z]'
Hello Guys!
$ echo "Hello Guys!" |grep -Eo '[A-Z]' <----Multiple lines
H
G
$ echo "Hello Guys!" |grep -Eo '[A-Z]'
期望的输出:
HG
我可以使用以下命令廉价地实现它,但问题是字母数量(在这种情况下为 3 个)可能是动态的。所以不能使用这种方法。
echo "HEllo Guys!" |grep -oE '[A-Z]' |xargs -L3 |sed 's/ //g'
HEG
【问题讨论】:
-
这就是
-o所做的定义 --->Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line。 -
可以使用 sed。
echo "Hello Guys!" |sed 's/[^A-Z]//g' -
@123,谢谢。您的解决方案对我有用。
-
虽然不能使用 perl ..
-
@user5584716 怎么会?