Знаете ли вы аналогичную программу для wc (команда подсчета слов unix) в Windows?[закрыто]
Вопрос
Быстрый поиск дает мне туалет, но он не принимает стандартный вывод в качестве входного потока, то есть я не могу использовать канал внутри ДОС сессия.
Примечание:
Я не могу установить cygwin или использовать powershell (что позволило бы|foreach-object {(get-content $_).count}
')
Решение
Вы можете использовать оригинальный " wc " ;, созданный для Windows: он является частью coreutils. пакет. Загрузите самую свежую версию coreutils .
Другие советы
Еще проще, find / c
.
пример:
netstat -an | find /c "ESTABLISHED"
find / c
: отображает только количество строк, содержащих строку.
Для инструментов Unix в Windows вы можете выбрать следующие варианты:
msys - похоже на unixtools, изначально всего несколько инструментов сборки, необходимых для работы с mingw (собственная версия GCC), теперь имеет почти все инструменты Cygwin
cygwin - почти каждый для комплексной установки unix и требует наличия dll для предоставления unix api. Могут возникнуть проблемы при смешивании инструментов, созданных с разными версиями cygwin.dll
Unixtools - не все инструменты, предоставляемые Cygwin, но скомпилированные изначально
ch - почти все инструменты unix, скомпилированные изначально. И оболочка, которая включает интерпретатор 'c'. Стандартная версия бесплатна (пиво), но не с открытым исходным кодом. Р>
uwin - бесплатно от ATT, включает оболочку korn, если вы такие вещи.
mks Коммерческий порт инструментов Unix. Довольно дорого, учитывая бесплатные версии доступны. Р>
Пытаться:
find /c /v "~any string that will never occur~"
Эта команда подсчитывает все строки, которые НЕ содержать строку поиска.Тестируя его, я вижу проблему: он не считает пустые строки в конце файла.
Мой unxutils пакет имеет количество слов:
C: java vssworkspace java portlets_core> wc -l c: users malp appdata local temp__portlets41366.html 79717 c: users malp appdata local temp__portlets41366.html
Кроме того, на странице unxutils указано wc.exe доступен.Вы ищете что-то, что wc.exe не справляется?
Вот два других (чистых 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 ""
Преимущество первого варианта заключается в том, что вы получаете значение переменной среды, с которой можно что-то делать.Но с огромными файлами он может работать медленно.
Существует также WinXs 4.2 , это условно-бесплатное ПО, так что вы мог бы увидеть, будет ли это делать то, что вам нужно. Р>
Не могли бы вы установить для этого язык сценариев? Это может быть излишним, но если оно выполнит работу с минимумом суеты ...
getgnuwin32 облегчает загрузку и установку gnuwin32 (которая, безусловно, имеет утилиту wc ). р>
Я нашел эту ветку и был очарован инновационными решениями для эмуляции туалета с использованием только инструментов, встроенных в Windows. Это стимулировало ответ на мою потребность в подсчете символов, чтобы я мог одержать победу в своей битве с веб-формой предупреждение о максимальном значении поля.
Если вы хотите wc -c , который дает количество байтов, вы можете использовать DEBUG , утилиту DOS (которая не указана командой HELP) в Windows. Количество символов должно равняться количеству байтов минус количество строк, умноженное на размер новой строки, которая является одним символом новой строки для Unix ('\ n') или двумя символами, возврат каретки + перевод строки ('\ cr' и '\ lf' или ' \ 0Dh '' 0Ah 'для простого текстового файла DOS.
Char Count = Byte Count - (Количество строк * sizeof (" \ n "))
Для этого откройте окно командной строки (Start-> Run-> Open: " cmd "), запустите debug для простого текстового файла и проверьте регистр CX, который содержит длину загруженного файла: р>
Отладка [путь] -rcx CX [длина файла в шестнадцатеричном виде] : -q р>
Затем запустите поиск по файлу:
find / v / c "notlikelystring" ---------- [путь]: [количество строк]
И применить формулу.