Sabe um programa similar para (comando contagem de palavras unix) wc no Windows? [fechadas]
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}
')
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
misturaUnixtools - 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.
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.