Re: [問題] 在vim計算pattern出現次數
※ 引述《CyberFret ( )》之銘言:
: 在vim, 如果我要計算int出現的次數, 我會用
: :write !grep -c int
: 但是, 如果我要計算
: 22
: 5A
: 00
: 88
: 出現次數, 我會用
: :write !grep -c 22\n5A\n00\n88
: 結果不work, 所以我想向大家請教一下
: 1)為什麼原本vim的搜尋功能可以認出\n,
: grep指令卻認不出來
vim認\n是vim的功能
你這裡是把輸出導給grep
但是grep把\n當成seperator
也就是說,它比對\n與\n之間(不包含\n)
去比對你給的pattern
: 2)我要下什麼參數讓grep可以認
: 得vim的regular expression
: 3)我該如何達成目的
: 感謝指教
可以用vim的search and replace來作
%s/int//gn
%s/22\n55\n00\n88//gn
g的作用在:同一行發生幾次(match)都要計算
n的作用在:不要去動到buffer(也就是你正在編輯的內容)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.168.106.112
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):