嘿,所有對不起,在這裏發佈我找不到任何答案,我的解決方案無法正常工作。我正在寫在下面的時尚日誌文件(不要問):在各行之間進行閱讀(perl或awk)
=============================
04-12-2011 11:37:10 SOMETHING_GOES_HERE
Variable1
Something Goes Here
=============================
04-12-2011 11:37:20 SOMETHING_GOES_HERE
Variable2
Anything different may be here
=============================
04-12-2011 11:37:30 SOMETHING_GOES_HERE
Variable3
is altogether different here
=============================
我想怎麼做(無論是用Perl或awk的,因爲這是一個RTOS)是:
查看文件,如果存在Variable1,則從Variable2開始並在等號之間打印所有內容:
Eg
=============================
04-12-2011 11:37:10 SOMETHING_GOES_HERE
Variable1
Mary had a little lamb
=============================
04-12-2011 11:37:20 SOMETHING_GOES_HERE
Variable2
The cow jumped over the moon
=============================
awk '/Mary had/{getline;getline;getline;print}'
將只打印
04-12-2011 11:37:20 SOMETHING_GOES_HERE
,但我需要的是等號之間的一切。我試圖屠殺一個不起作用的perl腳本。有什麼想法嗎?
好吧,這個工作(那種)
在這個意義上,很多被剝奪了。現在我有另一個選擇性印刷a-la awk。通常情況下,我可以使用的東西之前得到行:
echo "
test
hello
foo
bar" | awk '/foo/{print x};{x=$0}'
將打印測試,但還沒有找到一種方式來獲得的單詞測試(永遠是一個不同的詞,但這個詞foo將永遠留) 。任何考生(順便提前非常感謝)
我有點迷路'如果變量1存在,則從變量2開始。你能解釋一下嗎? – 2011-04-12 16:36:45
我想他正在試圖在兩行之間進行匹配,比如'/ Variable1/.../Variable2 /' – Geo 2011-04-12 16:39:21
@Geo那將不會打印'等號之間的所有內容' – 2011-04-12 16:42:16