Знаете ли вы аналогичную программу для wc (команда подсчета слов unix) в Windows?

Быстрый поиск дает мне tawbaware wc, но он не принимает stdout в качестве входного потока, то есть я не могу использовать канал внутри DOS сессии.

Примечание:

Я не могу установить cygwin или использовать powershell (что позволило бы "|foreach-object {(get-content $_).count}" )

unxutils и gnuwin32 Пакеты могут иметь эту функцию...

Ответ 2

Еще проще, find /c. ex:

netstat -an | find /c "ESTABLISHED"

find /c: отображает только количество строк, содержащих строку.

Ответ 3

Для инструментов unix для окон ваши варианты:

msys - похожее на unixtools, изначально только несколько инструментов сборки, необходимых для работы с mingw (родная версия gcc), теперь имеют почти все инструменты cygwin

cygwin - почти все для unix, сложная установка и требует dll для предоставления unix api. Могут возникнуть проблемы с инструментами микширования, построенными с различными версиями cygwin.dll

Unixtools - не все инструменты, предоставляемые cygwin, но скомпилированные изначально

ch - почти все инструменты unix, скомпилированные изначально. И оболочка, которая включает в себя интерпретатор "c". Стандартная версия бесплатна (пиво), но не с открытым исходным кодом.

uwin - без ATT, включает оболочку korn, если вам нравится такая вещь.

mks торговый порт инструментов unix. Довольно дорого, учитывая доступные версии.

Ответ 4

Ну, извините, но не согласен, но unxutils имеет wc.exe

Попробуйте!

Приветствия,

Ответ 5

My unxutils pack содержит количество слов:

C:\Java\vssWorkspace\Java\portlets_core > туалет -l C:\Users\malp\AppData\Local\Temp__portlets41366.html 79717 C:\Users\MALP\AppData\Local\Temp__portlets41366.html

Кроме того, на странице unxutils отображается wc.exe. Вы ищете что-то, что wc.exe не обрабатывает?

Ответ 6

Try:

find/c/v "~ любая строка, которая никогда не встретится ~"

Эта команда дает счет всех строк, которые НЕ содержат строку поиска. При тестировании я вижу проблему, которая, по-видимому, не подсчитывает пустые строки в конце файла.

Ответ 7

Вот два других способа (чистый Windows CMD) для подсчета строк в журнале git:

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

Или:

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

Преимущество первого заключается в том, что вы получаете значение в переменной среды, с которой вы можете заниматься. Но он может работать медленнее с огромными файлами.

Ответ 8

Существует также WinXs 4.2, это условно-бесплатное ПО, поэтому вы можете увидеть, будет ли оно делать то, что вам нужно это к.

Не могли бы вы установить для этого язык script? Это может быть излишним, но если он выполнит свою работу с минимумом суеты...

Ответ 9

getgnuwin32 облегчает загрузку и установку gnuwin32 (что, безусловно, имеет утилиту wc).

Ответ 10

Я нашел эту нить и был очарован инновационными решениями для эмуляции wc, используя только инструменты, которые Windows встроила. Это стимулировало ответ на мою потребность в персонаже, чтобы я мог одержать победу в своей битве с помощью веб-формы предупреждение о максимальном значении поля.

Если вы хотите wc -c, который дает количество байтов, вы можете использовать DEBUG, утилиту DOS (которая не указана командой HELP) в Windows. Счет персонажа должен равняться счету байта минус количество строк, умноженное на длину новой строки, которая является одним символом новой строки для Unix ('\n') или двумя символами, возврат каретки + перевод строки ('\ cr' и '\ lf' или '\0Dh '' 0Ah 'для текстового файла DOS.

Char Count = Byte Count - (количество строк * sizeof ( "\n" ))

Для этого откройте окно командной строки (Пуск- > Выполнить- > Открыть: "cmd" ), запустите отладку в текстовом файле и проверьте регистр CX, который содержит длину загруженного файла:

Отладка [путь] -rcx CX [длина файла в шестнадцатеричном формате]: -q

Затем запустите поиск в файле:

find/v/c "notlikelystring" ---------- [путь]: [количество строк]

И примените формулу.