2012-07-31 47 views
0

我沒有得到的結果從下面的代碼期望:猛砸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 

我很感謝您的回答。謝謝

luis。

回答

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 
2

一個簡單的解決方法是將換行轉換成空間(我也刪除你不需要的使用cat):

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

打倒我吧。 awk中可能有一個「更乾淨」的解決方案,但如果沒有示例數據,我將無法爲其編寫任何東西。 – jordanm 2012-07-31 02:42:25

+0

謝謝,幫助我! – opmeitle 2012-07-31 02:43:24