我試圖從日誌文件中提取數據並系統地組織它。我有大約9個日誌文件,大小約爲100mb。grep數據和輸出到文件
我想要做的是:從每個日誌文件中提取多個塊,並且對於每個提取的塊,我想創建一個新文件並將提取的數據保存到它。每個塊都有明確的開始和結束點。
基本上,我已經取得了一些進展,並能夠提取我需要的數據,但是,我試圖弄清楚如何爲每個匹配的塊創建一個新文件。
由於我的環境的限制,我無法使用像Python或Perl這樣的編程語言。所以請原諒那個混亂的命令。
我的命令迄今:
find Logs\ 13Sept/Log_00000000*.log -type f -exec \
sed -n '/LRE Starting chunk/,/LRE Ending chunk/p' {} \; | \
grep -v -A1 -B1 "Starting chunk" > Logs\ 13Sept/Chunks/test.txt
的LRE Starting chunk
和LRE Ending chunk
是我的邊界。現在我的命令起作用了,但它將所有匹配的塊保存到一個文件(其大小變得越來越大)。
我該如何着手爲每個匹配創建一個新文件並將匹配的內容添加到文件中?請記住,每個文件可以包含多個塊,並且不限於每個文件一個塊。
在每個匹配的文件中是否有一個塊或幾個?除了如何爲每個提取的塊生成文件名之外,它並不重要。我也正確解釋最終grep的意圖,你想刪除起始塊分隔符?如果是這樣,那麼-B1會如何呢?這將包括分隔符? – tripleee
@triplee:grep命令可能有點亂,但我的意圖是在每個比賽結束時在開始處添加+1線和在+1線上添加。 –
所以你想要前面的塊的最後一行,和這個塊的第一行,沒有別的?你仍應該澄清輸入的預期輸出和結構。 – tripleee