Що таке Windows-еквівалент "wc-l"?


52

Що таке еквівалент Windows команди Linux / Unix wc -l?

В основному, як ви рахуєте кількість рядків, що виводяться з команди в командному рядку Windows?


Ви також можете використовувати інструменти GnuWin32 і насправді мати wc(ну, wc.exe...) gnuwin32.sourceforge.net
ivanivan

Відповіді:


65

Команда "Кількість рядків" для Linux / Unix wc -lмає еквівалент Windows find /c /v "".

Як це працює?

За словами Реймонда Чена із "Старої Нової речі" , вона функціонує як така з того часу

Це особлива химерність findкоманди, що нульовий рядок трактується як ніколи не збігається.

Інвертований ( /v) count ( /c) таким чином ефективно підраховує всі рядки; значить, кількість ліній.

Приклад використання

Для підрахунку кількості модифікованих файлів у підривній робочій копії:

svn status -q | find /c /v ""

Така команда може бути використана для позначення збірки як "брудної", якщо кількість рахунків відсутня 0, тобто в робочій копії є незапущені зміни.

Щоб отримати кількість рядків усіх файлів Java:

(for /r %f in (*.java) do @type "%f") | find /c /v ""

Команда find /c /v ""також може бути додана до пакетного файлу, якщо потрібно. Не забудьте дублювати %символи в пакетних файлах.


PowerShell

Працюючий еквівалент PowerShell Measure-Object -lineвимагає додаткового форматування, наприклад (перелік каталогів для простоти),

(ls | Measure-Object -line).Lines

1
Дякую, що поділились. Створено посилання для посилання - gist.github.com/a4ede7054b2ce5ee2708dd49bbd5a1a1
maheshwaghmare

11

У PowerShell, щоб отримати кількість рядків усіх ваших файлів Java:

type *.java | Measure-Object -line

3
Ласкаво просимо до суперпользователя: - питання стосувалося CMD не повноважень; якщо ви можете відповісти на ОП, відредагуйте свою відповідь. це може допомогти Як відповісти , як запитати , довідковий центр знову вітає суперподібного, і я сподіваюся, що ти повернешся,
подякуй

9
Дякуємо @ mic84. Питання стосується командного рядка Windows. І Microsoft намагається замінити CMD на PowerShell: networkworld.com/article/3143196/windows/… Отже, це досить корисна відповідь.
користувач3808394

-2

findstr / n / r.

Це обмежений регулярний вираз, тому / n показує номер рядка відповідності та "". - це відповідність будь-якій схемі.


2
Питання не в тому, як відобразити файл з номерами рядків; питання полягає в тому, як визначити кількість рядків у файлі.
Скотт

Подивіться номер останнього рядка, і ось скільки рядків у файлі. Команда "find" теж працює, але, можливо, findstr буде корисною в деяких випадках. Я виявив, що так і є.
Gary Gatten

Це не дуже зручна відповідь, особливо з огляду на те, що ми отримали кілька інших відповідей, які є більш прямими. Але якщо це ваша відповідь, то  відредагуйте  свою відповідь, щоб зробити її більш зрозумілою та повною.
Скотт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.