Contagem de palavras para remarcação?

3

Existe uma maneira de obter uma contagem de palavras de linguagem natural no Markdown (ou melhor, Pandoc Markdown), através da linha de comando? É possível usar apenas wc para obter uma estimativa muito aproximada, mas wc é ingênuo e conta qualquer coisa cercada por espaço em branco como uma palavra. Isso inclui coisas como formatação de cabeçalho, marcadores e URLs em links.

O ideal seria remover todas as formatações de marcação, (incluindo as citações do Pandoc, se possível), e passar isso para wc , mas não consigo encontrar uma maneira de fazer isso, como pandoc formato de saída de texto simples ainda inclui muito estilo de redução de preço.

    
por naught101 26.05.2014 / 03:01

2 respostas

1

Uma solução um tanto manual:

  1. use pandoc para converter o arquivo de remarcação para um documento do MS Word ( *.docx ) ou documento do OpenOffice / LibreOffice Writer ( *.odt )
  2. abra esse documento no LibreOffice 1
  3. selecione tudo ( ctrl + a )
  4. Menu Ferramentas > Contagem de palavras

1 O OpenOffice provavelmente funcionaria da mesma forma, mas eu não testei isso.

    
por 01.06.2017 / 12:18
1

Existe um novo filtro de lua para isso: link

Salve o seguinte código como wordcount.lua

-- counts words in a document

words = 0

wordcount = {
  Str = function(el)
    -- we don't count a word if it's entirely punctuation:
    if el.text:match("%P") then
        words = words + 1
    end
  end,

  Code = function(el)
    _,n = el.text:gsub("%S+","")
    words = words + n
  end,

  CodeBlock = function(el)
    _,n = el.text:gsub("%S+","")
    words = words + n
  end
}

function Pandoc(el)
    -- skip metadata, just count body:
    pandoc.walk_block(pandoc.Div(el.blocks), wordcount)
    print(words .. " words in body")
    os.exit(0)
end

e chame pandoc assim:

pandoc --lua-filter wordcount.lua myfile.md
    
por 15.03.2018 / 11:13