我對sed的一個問題。從這個輸入:桑達搜索2種模式,如果不存在的第一個模式,打印第二圖案
[/=TueGreen$58.30Orange5:36pmSat*=WedOrange$76.63Purple6:20pmTue]
[/=Thu6:06pm$09.05Blue11:32amMon/=Thu1:38am$56.41Red4:25amThu]
[/=Sun1:49pm$12.41Yellow2:51pmMon*=FriOrange$49.68Blue1:24pmTue]
[/=Sat11:58am$82.24Orange3:44amMon*=Thu1:08am$33.49Red8:21amSat]
我必須做的一個輸出:
$58.30
6:06pm$09.05
1:49pm$12.41
11:58am$82.24
我知道,該模式似乎很容易,但是,我甚至沒找到時間模式。因爲小時有時候是1或2位數字。
這是第三天,我一直在學習sed和尋找答案。我學過grep。如果使用grep非常簡單。但是這項任務迫使我使用sed。到目前爲止,這是我的sed命令:
sed 's/.*\([0-9]*:[0-9]*\(am\|pm\)\).*/\1/' FILE
結果只顯示分鐘和am/pm。輸入的每一行都有很多時間模式。但是我的結果顯示了每行的最後一次模式。如您所見:
:20pm
:25am
:24pm
:21am
我哪裏出錯了?
+1非常好的第一個問題,包括樣本數據,預期輸出,電流輸出,並....喘息,通過O.P.企圖已經解決了自己的問題。嗯,你的頭銜似乎並不符合你的描述,但是它的假期是什麼。祝你好運,並繼續發佈! – shellter