2012-05-14 84 views
1

如何從Shell腳本中的以下數據中刪除價格?我打印標籤並且不想顯示價格。在Shell腳本中刪除部分字符串

輸入:

Order: 12 
Name: Raj K 
ABC Inc 
123 Main St 
Edison NJ 

1 Printer - $50.09 
Router - $30.00 
2 AirPrint - $56.10 

輸出

Order: 12 
Name: Raj K 
ABC Inc 
123 Main St 
Edison NJ 

1 Printer 
Router 
2 AirPrint 

任何想法?

+1

你有什麼工具(sed/awk/perl/bash/...),價格總是如此,你到目前爲止嘗試過什麼? – Mat

+0

我在sed中使用了少量模式匹配,但沒有運氣。殼是bash。我想,我也可以在shell腳本中使用perl,如果有一個簡單的方法來做到這一點。 –

+0

請包括您在問題中嘗試的內容。這可以讓人們告訴你你錯了什麼,或者你怎麼做得更好。你會更多地學習。 – Mat

回答

1

用sed:

sed '/ *- *\$[0-9]\+\.[0-9]\{2\}/s///' file 

這是應低於格倫的評論進行了更新。

+0

謝謝蒂姆。我錯過了一些模式。它工作的很好.. –

+0

你也可以利用sed使用空的正則表達式重新使用前一個:'sed'/ \ + - \ + \ $ [[:digit:]] \ + \ [[: digit:]] \ {2 \}/s ///'' –

+0

@glennjackman BA我不知道那是存在的。根據您的建議進行編輯。 –

相關問題