Sabe um programa similar para (comando contagem de palavras unix) wc no Windows? [fechadas]

StackOverflow https://stackoverflow.com/questions/247234

  •  05-07-2019
  •  | 
  •  

Pergunta

Uma busca rápida dá-me tawbaware wc , mas não aceita stdout como fluxo de entrada, o que significa que não posso usar tubo dentro de um DOS sessão.

Nota:

Não consigo instalar o cygwin ou usar o PowerShell (que teria permitido uma '|foreach-object {(get-content $_).count}')

UnxUtils e GnuWin32 pacotes possam ter esse recurso ...

Foi útil?

Solução

Você pode usar o "wc" original, construída para janelas: é parte do coreutils pacote. Obter o coreutils mais recentes exe .

Outras dicas

Mesmo mais fácil, find /c . ex:

netstat -an | find /c "ESTABLISHED"

find /c :. Exibe apenas a contagem de linhas que contêm a cadeia

Para ferramentas UNIX no Windows suas opções são:

msys - similair para unixtools, originalmente apenas algumas das ferramentas de construção necessários para ir com mingw (versão nativa de gcc), tem agora quase todas as ferramentas do cygwin

cygwin - apenas sobre everythign para UNIX, instale complexo e requer uma dll para fornecer unix api. Pode haver problemas ferramentas construídas com diferentes versões do cygwin.dll

mistura

Unixtools - nem todas as ferramentas fornecidas pelo cygwin mas compilados nativamente

ch - praticamente todas as ferramentas UNIX, compilado nativamente. E um escudo que inclui um intérprete de 'c'. A versão padrão é livre (cerveja), mas não open source.

UWIN - livre de ATT, inclui o shell Korn se como esse tipo de coisa.

MKS um porto comercial de ferramentas Unix. Bastante caro dadas as versões gratuitas disponíveis.

Tente:

find /c /v "~any string that will never occur~"

Este comando dá uma contagem de todas as linhas que NÃO contém a seqüência de pesquisa. Testá-lo, eu vejo um problema que não parece contar linhas em branco no final de um arquivo.

Bem, eu sinto muito a discordar, mas UnxUtils têm uma wc.exe

Dê-lhe uma tentativa!

Cheers,

UnxUtils pacote tem contagem de palavras:

C: \ Java \ vssWorkspace \ java \ portlets_core> wc -l C: \ Users \ MALP \ AppData \ Local \ Temp__portlets41366.html 79.717 C: \ Users \ MALP \ AppData \ Local \ Temp__portlets41366.html

Além disso, a página UnxUtils indica wc.exe está disponível. Você está procurando algo que wc.exe não manipula?

Aqui estão dois outros (Windows CMD puros) maneiras de contar linhas em um git log:

set n=0
for /f %a in ('git log --oneline') do set /a n=n+1

Ou:

git log --online | find /v /c ""

A vantagem do primeiro é que você acabar com o valor em uma variável de ambiente que você pode fazer coisas com. Mas pode executar lento com arquivos enormes.

Há também WinXs 4.2 , é shareware, assim você poderia ver se ele vai fazer o que você precisa que ele.

Você poderia instalar uma linguagem de script para isso? Ele pode ser um exagero, mas se ele começa o trabalho feito com um mínimo de barulho ...

getgnuwin32 facilita o download ea instalação de GnuWin32 (que certamente tem utilidade wc ).

Eu encontrei esta discussão e ficou encantado com as soluções inovadoras para emular wc usando apenas as ferramentas que o Windows tem construído em. Isso estimulou uma resposta à minha necessidade de uma contagem de caracteres para que eu possa prevalecer na minha batalha com um formulário web aviso caráter máximo do campo.

Se você quiser wc -c que dá um byte contar que você pode usar DEBUG , um utilitário DOS (que não é listado pelo comando HELP) no Windows. Contagem de caracteres deve ser igual a contagem de octetos menos os tempos de contagem de linha do tamanho de uma mudança de linha, que é um caractere de nova linha para Unix ( '\ n') ou dois caracteres, retorno do carro + avanço de linha ( '\ cr' e '\ lf' ou ' \ 0Dh' '0Ah' para um arquivo de texto simples DOS.

Char Count = Byte Count - (Linha Contagem sizeof * ( "\ n"))

Para fazer esta janela de linha de comando a aberta (Start-> Run-> Open: "cmd"), depurar executado no arquivo de texto simples e examinar o registo CX que contém o comprimento do arquivo carregado:

Debug [caminho] -rcx CX [filelength em hex] : -q

Em seguida, execute encontrar no arquivo:

localizar / v / c "notlikelystring" ---------- [caminho]: [contagem de linha]

E aplicar a fórmula.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top