我想根據給定的日期範圍從文件中提取文本。日期範圍將由用戶決定,但在這裏我只是使用固定範圍。使用grep
後如何按日期範圍提取文本?
文件內容如下:
[email protected]:~$ zgrep added new.txt
Jul 02 21:03 : update: added Linkin Park/Living Things(2012)/02 - Linkin Park - In My Remains.mp3
Jul 02 21:03 : update: added Linkin Park/Living Things(2012)/03 - Linkin Park - Burn It Down.mp3
Jul 07 10:33 : update: added Linkin Park/Living Things(2012)/04 - Linkin Park - Lies Greed Misery.mp3
Jul 09 07:54 : update: added Linkin Park/Living Things(2012)/04 - Linkin Park - Lies Greed Misery.mp3
現在,讓我們假設我想提取日期Jul 07
和Jul 09
之間的文本。所以我用下面的命令爲
zgrep added new.txt | sed '/"Jul 09"/,/"Jul 07"/p'
這給了我下面的輸出
Jul 02 21:03 : update: added Linkin Park/Living Things(2012)/02 - Linkin Park - In My Remains.mp3
Jul 02 21:03 : update: added Linkin Park/Living Things(2012)/03 - Linkin Park - Burn It Down.mp3
Jul 07 10:33 : update: added Linkin Park/Living Things(2012)/04 - Linkin Park - Lies Greed Misery.mp3
Jul 09 07:54 : update: added Linkin Park/Living Things(2012)/04 - Linkin Park - Lies Greed Misery.mp3
所以,你可以看到它並沒有考慮range
我給sed的。
我的問題是什麼應該是根據日期範圍提取文本的正確方法。
線條保證按日期/時間排序嗎? – Sorpigal 2012-07-09 14:59:03
@Sorpigal:是按日期/時間排序。實際上,我展示的文件只是'/ var/log/mpd.log'的縮短版本。 – ronnie 2012-07-09 15:03:10
我認爲grep可能會更合適,如果你想獲得日期 – DrinkJavaCodeJava 2012-07-09 15:05:44