0

我没有从以下代码中得到预期的结果:

#!/bin/bash
cat /home/opmeitle/html/fiesta-one.html | grep -oiE '([$][0-9.]{1,7})'

这是输出:

$90.850
$0
$389
$469
$670
$750
$684
$21.744
$604

这是我想要的结果,在控制台中。

$90.850 $0 $389 $469 $670 $750 $684 $21.744 $604

我很感激你的回答。谢谢

路易斯。

4

2 回答 2

2

还有很多其他的解决方案:

$ echo $(grep -oiE '([$][0-9.]{1,7})' /home/opmeitle/html/fiesta-one.html)
$ grep -oiE '([$][0-9.]{1,7})' /home/opmeitle/html/fiesta-one.html | xargs echo
$ grep -oiE '([$][0-9.]{1,7})' /home/opmeitle/html/fiesta-one.html | tr '\n' ' '
$ grep -oiE '([$][0-9.]{1,7})' /home/opmeitle/html/fiesta-one.html | perl -pe 's/\n/ /;'

并且没有grep

$ perl -ne 'print "$1 " if /([\$][0-9.]{1,7})/' /home/opmeitle/html/fiesta-one.html
于 2012-07-31T05:38:00.997 回答
2

一个简单的解决方法是将换行符转换为空格(我还删除了您对 的不必要使用cat):

grep -oiE '([$][0-9.]{1,7})' /home/opmeitle/html/fiesta-one.html | tr '\n' ' '
于 2012-07-31T02:41:15.840 回答