1. 程式人生 > >linux下如何獲得特定字串前後幾行文字

linux下如何獲得特定字串前後幾行文字

如果要獲得一個檔案中的最後幾行,使用tail命令就可以很方便的實現。但在有些時候,會需要用到如標題中所描述的功能。

我舉一個具體的例子:在使用VASP計算彈性常數時,結果就是在字串“TOTAL ELASTIC MODUII” 之後的幾行,但這整個部分是在檔案的中間,如果將這部分資料提取出來呢?

使用grep命令可以比較輕鬆達到目的,具體使用如下:

01 $ grep -A|B n "key" file

其中:

  • A:表示在字串之前
  • B:表示在字串之後
  • n:要獲取多上行文字
  • key:為要查詢的字串
  • file:檔名

比如上面提到的例子中,可以使用如下命令獲取彈性常數:

01 $ grep -A 10 "TOTAL ELASTIC" OUTCAR

獲取的幾行文字可以通過管道傳遞給其他命令進行進一步的提取或使用。

參考:http://walakq.i.sohu.com/blog/view/168796199.htm