我有一個txt文件是這樣的:如何使用grep從文件中檢索匹配的文本?
asdfasdf
ffaCover 91adf
ffffa
我想用grep或一些Linux工具捕獲「蓋」後面的空格後的1個或2位數字。在一些編程語言中,我會使用正則表達式庫來匹配/^Cover(\ d \ d?)$ /。然後有一些方法可以得到括號內的1或2位數字。有沒有辦法使用grep來做到這一點?
我有一個txt文件是這樣的:如何使用grep從文件中檢索匹配的文本?
asdfasdf
ffaCover 91adf
ffffa
我想用grep或一些Linux工具捕獲「蓋」後面的空格後的1個或2位數字。在一些編程語言中,我會使用正則表達式庫來匹配/^Cover(\ d \ d?)$ /。然後有一些方法可以得到括號內的1或2位數字。有沒有辦法使用grep來做到這一點?
我一直做這樣的事情:
grep -Po '(?<=Cover\s)(\d\d?)'
的-o
選項grep
使它只打印模式,不包括零寬度向後斷言相匹配的部分。
但是,我不知道anubhava之前答案中的\K
選項,這看起來更清晰。
我結束了這個,因爲我所在的Windows系統似乎不支持\ K選項。 –
只是管grep -oP
:
grep -Po 'Cover \K[0-9]{1,2}'
91
\K
重置所有先前匹配的信息。
'grep -o'或'cut -f'。 – bishop