2
cat log | awk '/^Jun 14 11:52/,/^Jun 14 11:56/'
這個工作,它給了我這兩個時間戳之間的日誌行。awk變量對日期grep不起作用
cat log | awk -v start="$startTime" -v end="$endTime" '/^start/,/^end/
'
這不起作用。它返回空。
我使用awk變量的方式有什麼問題嗎?
cat log | awk '/^Jun 14 11:52/,/^Jun 14 11:56/'
這個工作,它給了我這兩個時間戳之間的日誌行。awk變量對日期grep不起作用
cat log | awk -v start="$startTime" -v end="$endTime" '/^start/,/^end/
'
這不起作用。它返回空。
我使用awk變量的方式有什麼問題嗎?
在正則表達式文字/
和/
之間,您不能使用變量。
您可以使用:
awk -v start="$startTime" -v end="$endTime" '$0 ~ "^" start{p=1} p; $0 ~ "^" end{p=0}' log
就像一個魅力。有沒有解釋這種用法的文檔? – egorulz
這裏不會有任何文檔,但是在一些在線的awk教程中,他們會顯示類似的例子。 – anubhava