在vim計算pattern出現次數 - Linux

By Susan
at 2009-09-12T14:16
at 2009-09-12T14:16
Table of Contents
※ 引述《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(也就是你正在編輯的內容)
--
: 在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(也就是你正在編輯的內容)
--
Tags:
Linux
All Comments
Related Posts
版本越舊越安全?

By Regina
at 2009-09-12T05:57
at 2009-09-12T05:57
ptrace 在 i7 上面改 register 的值

By Sierra Rose
at 2009-09-12T04:56
at 2009-09-12T04:56
ubuntu下看youtube的字幕

By Charlie
at 2009-09-12T00:43
at 2009-09-12T00:43
請問UBUNTU下是否有影像軟體可以編輯RA …

By Noah
at 2009-09-11T23:50
at 2009-09-11T23:50
gcin 注音打不出『泵』??

By Vanessa
at 2009-09-11T23:10
at 2009-09-11T23:10