0 我有一个来自维基百科的大表(来自维基源),我想提取一个列,我在vim中打开它,我想要提取的内容看起来像这样 |col||[[what I want]]||another column||another one||et cetera| 每行都有我想要的内容,所以我试过: :%s/\[\[(.+?)\]\]/\1 但是我得到了错误 E486: Pattern not found: \[\[(.+?)\]\] linux vim regex command-line — 杰弗里艾尔斯沃思 source
1 我会首先删除内容,然后在vi中打开它: cat wikifile.txt | cut -d \| -f 4 > foo vi foo 两个步骤,但我可以永远记住两个步骤,没有多想。 — DaveParillo source
1 尝试 :%s/.*\[\[\(.*\)\]\].*/\1/ 将返回 what i want 即你需要 逃避组括号“(”和“)”以及 匹配有趣列之前和之后的部分,因为您想要替换它。 — knweiss source 使用'[^]] *'代替'。*'可能比较安全,以防有两个字段围绕它们的双方括号。 — Jonathan Leffler
0 这是你想要的吗 : 1,$ s/^\(.*\[\[\)\(.*\)\(\]\].*\)$/\2/ 它从行的开头检查[[ - >把它放在原子1中,句子 - >原子2,行尾 - >原子3。 然后只显示原子2。 — 大教堂 source