Log-Files

獲取日誌文件中關鍵字之間的文本

  • February 18, 2012

如果我有一個日誌文件並且只想將 1234 和 9876 之間的文本轉儲到另一個文件中,我該如何輕鬆地做到這一點?

如果我有這樣的文本文件:

idsfsvcvs sdf sdf e e  sd vs d s g sg  s vc  d

slkdfnls 1234 keep me text 9876 das a g w eg dsf sd fsdf
sdfs fs dfsdf
sdfsdf sdf
sdf s fs
dfsf ds

我想做這樣的事情

$ getinfo “1234” “9876” 日誌

$貓日誌

給我發簡訊

一行 sed 可以為您做到這一點:

sed -n 's/.*1234 \(.*\)9876.*/\1/p' textfile.txt > log

通常你可以用 grep 和 -o 參數來做到這一點。

-o, --only-matching
Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line. 

所以它會是這樣的:

grep -Po '1234.*9876' >> log

順便說一句,不是 100% 確定正則表達式,我沒有測試它

引用自:https://serverfault.com/questions/354962