
我將使用什麼命令來查看文件中以我用 grep 找到的行開頭的所有行
所以我想像類似尾巴的東西,但從我用 grep 識別的行開始。
例如,我正在查看日誌,我可以識別其中包含時間的點。所以我想查看包含特定日期時間的日誌行之後的所有日誌行。
答案1
這應該可以做到:
sed -n -e "/pattern/,\$p" filename
答案2
grep 的 -A 選項可以做到這一點。正常用法是針對上下文後匹配,-B 表示上下文前火柴。 -m 選項限制匹配的數量。
grep -A1000000 -m1 <search> <file>
將輸出最多 1000000 行上下文(要使此工作正常進行,只需確保該數字大於文件中的行數 - 如果您的文件長度超過 1000000 行,grep 可能不是正確的工具) 。以類似的方式,
grep -B1000000 -m1 <search> <file>
將列印直到第一個符合項目(包括第一個符合項目)的所有行。 (據我所知,這不是這些選項的預期用途,而是它們工作方式的自然副作用:替代方案是使用 grep 以外的程序。)