我正在尋找一種方法將過去兩天的多個日誌文件查看爲單個傳遞。從昨天/今天查看日誌
起初,我嘗試使用grep:
#!/bin/bash
yesterday=$(date --date="yesterday" +"%Y-%m-%d")
today=$(date +"%Y-%m-%d")
grep "$yesterday\|$today" *.log | less
這是好的,但它不輸出線在比賽中(沒有在他們的日期,例如錯誤的堆棧跟蹤線之間 - 這什麼是我真正感興趣的)...
所以我發現這一點:
#!/bin/bash
yesterday=$(date --date="yesterday" +"%Y-%m-%d")
sed -ne '/$yesterday/,$p' *.log | less
對於每一個文件,它輸出一切從第一場比賽到文件的末尾。這只是完美的......除了一件事......在閱讀時,我不知道我在看哪個文件的內容。我希望在每行的開始處看到文件名,就像使用grep一樣。
- 如何在我的sed命令中將每個行的文件名加前綴?
- 會有更好/更好的方法來做到這一點?
感謝;-)
選中此項:http://www.tecmint.com/view-multiple-files-in-linux/ – Noproblem
你錯過了本質。你的日誌格式是什麼(示例) – NeronLeVelu
我認爲你應該使用'for'並在'echo'前加上文件名。另外,注意'sed'將它的參數視爲一個連續的長流,所以在你的例子中,我認爲這不是你想要的(如果可用,你可以傳遞'--separate'選項)。 – whoan