Eu cortaria o conteúdo primeiro e depois abria no vi:
cat wikifile.txt | cut -d \| -f 4 > foo
vi foo
Dois passos, mas dois passos que eu sempre consigo lembrar sem pensar muito.
Eu tenho uma grande tabela da Wikipedia (da fonte wiki), e eu quero extrair uma única coluna, eu a abro no vim, e o que eu quero extrair é algo como isto
|col||[[what I want]]||another column||another one||et cetera|
Cada linha tem conteúdo que eu quero, então eu tentei:
:%s/\[\[(.+?)\]\]/
Mas recebo o erro
E486: Pattern not found: \[\[(.+?)\]\]
Tente
:%s/.*\[\[\(.*\)\]\].*//
que retornará
what i want
Ou seja. você precisa
É isso que você quer:
1,$ s/^\(.*\[\[\)\(.*\)\(\]\].*\)$//
Verifica-se desde o início da linha até [[- > colocá-lo no átomo 1, a sentença - > átomo 2, o fim da linha - > átomo 3.
Em seguida, basta exibir o átomo 2.
Tags command-line vim regex linux