Bash grep变换垂直于水平列表

时间:2012-07-31 02:36:52

标签: bash grep

我没有从以下代码得到结果:

#!/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

感谢您的回答。感谢

路易斯。

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分: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