Посчитать количество строк в файле windows


Рейтинг 4.55/293:

2 / 2 / 0

Регистрация: 14.03.2011

Сообщений: 18

Как узнать количество строк в файле?

27.06.2012, 12:09. Показов 54884. Ответов 9


Как узнать количество строк в файле средствами командной строки?

Как выводить определенную строку, я знаю, как выводить строку содержащую определенное слово или символ, тоже знаю, а вот как узнать полное количество строк в файле так и не понял. =(

Можно конечно воспользоваться констнукцией из more, find и for, что бы сначала отобразить весь файл, командой for записать последнюю строку в переменную, потом поискать эту строку в файле с выводом номера строки содержащей эти символы, но конструкция получится громоздкая, содержимое строк может совпадать, и если файл большой, то весь код будет нагружать и без того не шуструю машинку.

в общем городить огород не хочется, узнать бы команду кратенькую.



0



142 / 68 / 4

Регистрация: 23.06.2010

Сообщений: 155

27.06.2012, 12:31

Вот в соседней теме было.



0



2 / 2 / 0

Регистрация: 14.03.2011

Сообщений: 18

27.06.2012, 13:12

 [ТС]

Сообщение от K0NCTANT1N

Вот в соседней теме было.

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



0



142 / 68 / 4

Регистрация: 23.06.2010

Сообщений: 155

27.06.2012, 13:19

Ну, тут проще уже нет куда, логически подумать прочитав справку find /? и её ключей /c и /v.



0



2 / 2 / 0

Регистрация: 14.03.2011

Сообщений: 18

27.06.2012, 13:53

 [ТС]

Сообщение от K0NCTANT1N

Ну, тут проще уже нет куда, логически подумать прочитав справку find /? и её ключей /c и /v.

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

Добавлено через 11 минут
Хотя…
Такая вот конструкция выдает требуемый результат.
C:\000>find /v /n /c «» temp.txt

Получаем строку в конце которой имеем число, которое нас интересует.

Спасибо за помощь.



0



K0NCTANT1N

142 / 68 / 4

Регистрация: 23.06.2010

Сообщений: 155

27.06.2012, 13:55

Батник запускать из ком строки 1.bat myfile.txt:

Bash
1
2
3
echo off
echo Количество строк:
find /c /v "" <"%~1"

Батник, если имя искомого файла указано внутри пакетного 1.bat:

Bash
1
2
3
echo off
echo Количество строк:
find /c /v "" <"myfile.txt"

После этого читаем скудную документацию для команды call /? и обращаем внимание на что такое аргументы.



2



Eskander88

12 / 18 / 2

Регистрация: 02.11.2015

Сообщений: 222

13.08.2018, 10:28

Сообщение от K0NCTANT1N

Bash
1
find /c /v "" <"myfile.txt"

данный метод не позволяет посчитать пустые строки в конце файла



0



4339 / 2129 / 661

Регистрация: 26.04.2015

Сообщений: 6,823

13.08.2018, 14:07

Eskander88,
более того, последние 2 пустые строки не будут посчитаны и при нумерации:



0



alpap

4339 / 2129 / 661

Регистрация: 26.04.2015

Сообщений: 6,823

13.08.2018, 14:14

но немного испортив file3.txt можно, если сильно нужно, вывести на момент времени количество строк с учетом всех пустых в конце:

Windows Batch file
1
>>file3.txt echo #& <file3.txt find /c /v ""



0



fhrbc

6 / 6 / 0

Регистрация: 30.01.2019

Сообщений: 4

30.01.2019, 19:09

Может кому пригодится…
Количество строк файла в переменную

Windows Batch file
1
2
for /f "usebackq" %%S in (`find /c /v ""^<"Text.txt"`) do (set /a NumStr=%%S)
echo %NumStr%



3



Новые блоги и статьи

Все статьи  

Все блоги / 

Реализация DI в PHP

Jason-Webb 13.05.2025

Когда я начинал писать свой первый крупный PHP-проект, моя архитектура напоминала запутаный клубок спагетти. Классы создавали другие классы внутри себя, зависимости жостко прописывались в коде, а о. . .

Обработка изображений в реальном времени на C# с OpenCV

stackOverflow 13.05.2025

Объединение библиотеки компьютерного зрения OpenCV с современным языком программирования C# создаёт симбиоз, который открывает доступ к впечатляющему набору возможностей. Ключевое преимущество этого. . .

POCO, ACE, Loki и другие продвинутые C++ библиотеки

NullReferenced 13.05.2025

В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . .

Паттерны проектирования GoF на C#

UnmanagedCoder 13.05.2025

Вы наверняка сталкивались с ситуациями, когда код разрастается до неприличных размеров, а его поддержка становится настоящим испытанием. Именно в такие моменты на помощь приходят паттерны Gang of. . .

Создаем CLI приложение на Python с Prompt Toolkit

py-thonny 13.05.2025

Современные командные интерфейсы давно перестали быть черно-белыми текстовыми программами, которые многие помнят по старым операционным системам. CLI сегодня – это мощные, интуитивные и даже. . .

Конвейеры ETL с Apache Airflow и Python

AI_Generated 13.05.2025

ETL-конвейеры – это набор процессов, отвечающих за извлечение данных из различных источников (Extract), их преобразование в нужный формат (Transform) и загрузку в целевое хранилище (Load). . . .

Выполнение асинхронных задач в Python с asyncio

py-thonny 12.05.2025

Современный мир программирования похож на оживлённый мегаполис – тысячи процессов одновременно требуют внимания, ресурсов и времени. В этих джунглях операций возникают ситуации, когда программа. . .

Работа с gRPC сервисами на C#

UnmanagedCoder 12.05.2025

gRPC (Google Remote Procedure Call) — открытый высокопроизводительный RPC-фреймворк, изначально разработанный компанией Google. Он отличается от традиционых REST-сервисов как минимум тем, что. . .

CQRS (Command Query Responsibility Segregation) на Java

Javaican 12.05.2025

CQRS — Command Query Responsibility Segregation, или разделение ответственности команд и запросов. Суть этого архитектурного паттерна проста: операции чтения данных (запросы) отделяются от операций. . .

Шаблоны и приёмы реализации DDD на C#

stackOverflow 12.05.2025

Когда я впервые погрузился в мир Domain-Driven Design, мне показалось, что это очередная модная методология, которая скоро канет в лету. Однако годы практики убедили меня в обратном. DDD — не просто. . .

Наверх

When working with files processing via command line on Windows, may need to count lines in a file. It can help to determine how large a given file is. This tutorial shows 2 methods how to count lines in a file on Windows.

In order to test, create a new file:

(echo Line1& echo Line2& echo Line3& echo Line4) > test.txt

Method 1 — CMD

To count lines in a file, use type command to read the content of a file and find command to count lines:

type test.txt | find /c /v ""

Combination of parameters /c and /v in the find command means that need to display a count of the lines that don’t contain the specified string. In our case empty string "".

Method 2 — PowerShell

In PowerShell, the Measure-Object command can be used with -Line parameter in order to count the number of lines:

type test.txt | Measure-Object -Line | %{$_.Lines}

How to easily count output lines in cmd.exe with the builtin FIND tool.

When working in a command line environment it is sometimes very useful to be able to count the lines of output from different tools. Many Unix/Linux operating systems contains the wc tool with many options and there is no real builtin alternative in Windows, however some of same capabilities exists native in the Windows Command Prompt (cmd.exe).

In this short post we will see how we can use the FIND utility for counting lines in cmd.exe. The find tool, somewhat similar to grep in Unix, has been around since MS-DOS and is easy to use since it is included by default in every Windows installation.

Assume for example that we have a Windows Server and want to see how may TCP sessions that is active for the moment. This could be studied with the netstat command and piped into FIND to grep the established sessions.

netstat -nao | find /i “estab”

Established TCP sessions

The output from this could quite overwhelming with hundreds of lines and we might only be interesting in the number of sessions. By just appending the switch /c to the command line we will get the number of open TCP sessions.

Established TCP sessions

We will still use the filter (in this case look for the string “estab” to find only lines containing the ESTABLISHED state) but together with /c the tool will only display the number of matching lines.

 
 

ipconfig /displaydns

Another short example could be the notice the number to locally cached dns records, see output above.

Find and count AD groups

The /c option could also be used to count all lines that a commands leaves as output. For example we would like to know the number of groups in Active Directory. By using a pipe to FIND /v “” /c we want to see all lines that does not (/v) match the string “”, i.e. all lines and then count it. By using /v “” we will grep every non-blank line, which could be useful if the output strings are very different. If you have used the Unix tool wc this would be quite like wc -l.

Another example with a command that displays a very large number of output line would be the Event Logger command line tool wevutil. If just wanting to know the number of different logs in modern Windows system we could pipe the names of several hundreds of log files into FIND /v “” /c.

A final example could be that we have a log file or similar with perhaps thousands of lines in total and we quickly want to know the amount of lines with certain key phrases.

TYPE C:\Windows\Schedlgu.txt | FIND /i “task failure” /c

It should be noted that the Unix tool wc has a number of Win32 ports available for free, but often it is most useful to know what could be accomplished from the builtin tools available on all Windows, even legacy versions.

by Karun Subramanian

on March 17, 2016

Occasionally you will want to know how many lines are there in a file. In unix world, you can use the nifty ‘wc’ command

wc –l < filename>

In Windows Powershell you can use the built in cmdlet named ‘measure-object’. It is pretty powerful.

For counting lines in a file, use the following command

Get-content <filename> | Measure-Object –Line

For example

If you want to learn more about measure-object,

Help Measure-Object –detailed

Enjoy

Comments on this entry are closed.

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

1 2012-08-24 13:09:30 (изменено: Rumata, 2012-08-24 13:50:18)

  • Rumata
  • Разработчик
  • Неактивен

Тема: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

Предислолвие
Windows не имеет нативных средств для работы с текстовыми файлами из командной строки. Как правильно сказал коллега greg zakharov в теме JScript: чтение N-последних строк файла

greg zakharov пишет:

В Windows’е на командном языке можно соорудить нечто подобное, но камнем преткновения будут кодировки

Здесь хотелось бы заметить, что проблема с кодировками будет при написании скрипта, на любом из родных для системы языков — cmd, vbscript, jscript.

Можно только сожалеть об отсутствии и решить эту проблему одним из следующих способов:
1. установить один из пакетов, содержащих достаточный набор команд, чтобы быть также уверенным как в командной строке unix, например, UnixUtils, Cygwin, GnuWin32
Иногда это не возможен из-за политик компаний, запрещающих самостоятельно устанавливать дополнительное ПО.
2. использовать PowerShell
Хотя все идет к тому, что PowerShell будет предустановлен на всех Windows, однако еще много систем на которых его нет. А установить нельзя.
3. написать собственный скрипт
Это уже выход, если 1 и 2 противопоказаны. Хотя есть свои недостатки  (например упомянутая проблема — кодировки).

Я решил попробовать (частично или полностью) эмулировать работу некоторых важных команд обработки текстовых файлов средствами самой командной строки. Just for fun!
.
1. Количество строк в файле
Оказывается почти точно определить количество строк в файле очень просто:

find /c /v "" file1 file2 ...

И вот пример. Данная команда выводит немного дополнительной информации

C:\>find /c /v «» c:\autoexec.bat

———- C:\AUTOEXEC.BAT: 1

Сказав «почти точно», я имел в виду, то что иногда результаты отличаются от видимого. Но этим грешат многие команды. Например, wc -l отбрасывает последнюю строку, если она не заканчивается переводом строки. В случае с find /c /v «» наблюдается расхождение с действительностью, если в конце файла несколько (более 2) пустых строк. По-видимому разные программы работают по разному — одни считают количество строк, другие количество переводов строк. И вследствие этого они могут различаться. Поэтому я рекомендую использовать следующее решение.

more file | find /c /v ""

Команда выведет только размер файла в строках. И это самый точный способ узнать количество строк в файле.

Коли я упомянул в самом начале PowerShell, приведу примеры реализации с его помощью (я не знаток его синтаксиса и тонкостей, поэтому привожу некоторые, известные мне реализации, возможно не самые удачные, но полностью рабочие). Прелесть этих решений еще в том, что это однострочные команды (вики на англ):

:: Вычислить количество строк в файле
echo (get-content -path %windir%\System32\drivers\etc\hosts).length | powershell -command -

.
2. Прочитать n последних строк в файле. Эмуляция команды tail
Оказывается, это очень простая задача:
1. узнать N — количество строк в файле;
2. вывести n строк, пропустив N-n:

@echo off

:: Вывод n последних строк файла
::
:: Использование:
:: tail n filename
::
:: Пример:
:: tail 10 %windir%\System32\drivers\etc\hosts

setlocal enabledelayedexpansion

:: Узнать количество строк в файле
for /f %%n in ( 'more ^< "%~2" ^| find /c /v ""' ) do (
	set tail.count=%%n
)

:: Вычислить сколько строк пропустить
set /a tail.count-=%~1

:: Вывести n последних строк из файла
more +!tail.count! < "%~2"

.
Код на PowerShell:


:: вывести 10 последних строк файла (2 варианта, первый быстрее)
echo (get-content -path %windir%\System32\drivers\etc\hosts)[-10..-1] | powershell -command -
echo "get-content -path %windir%\System32\drivers\etc\hosts | select-object -last 10" | powershell -command -

.
3. Вывод нескольких начальных строк файла. Эмуляция команды head
Этот эмулятор я написал первым, хотя он не самый простой в реализации. Возможно, существуют варианты лучше, но, к сожалению, я их не нашел и, поэтому, я использовал «хак» с временным файлом. Суть его в том, что вначале создается временный файл, который содержит n-ое количество следующих строк:

то есть все номера требуемых строк.

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

@echo off

:: Вывод n первых строк файла
::
:: Использование:
:: head n filename
::
:: Пример:
:: head 10 %windir%\System32\drivers\etc\hosts

setlocal

:: Необходим временный файл для хранения n номеров первых строк в виде "[n]"
(

for /l %%n in ( 1, 1, %~1 ) do (
	echo.[%%n]
)

)>"%TEMP%\$$$head.txt"

:: нумеруем каждую строку
:: ищем только строки с заданным номером и выводим эти строки
:: по окончании временный файл удаляем
for /f "tokens=1,* delims=]" %%n in (
	'find /n /v "" "%~2" ^| findstr /b /l /g:"%TEMP%\$$$head.txt" ^&^& del "%TEMP%\$$$head.txt"'
) do (
	echo.%%o
)

.
И на последок, традиционно, код на PowerShell:


:: вывести 10 начальных строк файла (2 варианта, первый быстрее)
echo get-content -path %windir%\System32\drivers\etc\hosts -totalcount 10 | powershell -command -
echo "get-content -path %windir%\System32\drivers\etc\hosts | select-object -first 10" | powershell -command -

.
Послесловие
Здесь я привел только заготовки, но уже рабочие заготовки, которые частично решают проблему отсутствия полезных команд. Для полноценной эмуляции можно предусмотреть работу не только с заданным файлом или группой файлов, но и с консолью, и реализовать конвейерную обработку. Также можно было бы добавить проверку установки PowerShell в системе и, если он есть, выполнять его команды.

( 2 * b ) || ! ( 2 * b )

2 Ответ от smaharbA 2012-08-24 16:05:23

  • smaharbA
  • Разработчик
  • Неактивен
  • Рейтинг : [0|0]

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

хеад и тайл в одном флаконе

cmd /v:on /q /c "set n=0& for /f "delims=" %x in ('more') do (set /a n=!n!+1> nul& echo.%x& if !n! gtr 9 exit /b)" < Macros.Rus.txt

Я конечно далек от мысли… (с)

3 Ответ от alexii 2012-08-24 17:26:04

  • alexii
  • Разработчик
  • Неактивен

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

smaharbA, как во флаконе дело обстоит с пустыми строками в файле?

4 Ответ от Rumata 2012-08-24 17:44:35

  • Rumata
  • Разработчик
  • Неактивен

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

smaharbA
alexii
Коллеги. Во флаконе только head. Там нет tail.

( 2 * b ) || ! ( 2 * b )

5 Ответ от smaharbA 2012-08-24 18:01:56 (изменено: smaharbA, 2012-08-24 18:04:48)

  • smaharbA
  • Разработчик
  • Неактивен
  • Рейтинг : [0|0]

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

есть там тайл — смотрите внимательно

more +N …

Я конечно далек от мысли… (с)

6 Ответ от smaharbA 2012-08-24 18:04:12

  • smaharbA
  • Разработчик
  • Неактивен
  • Рейтинг : [0|0]

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

alexii — не знаю, должно быть вроде как нормально, поправьте

Я конечно далек от мысли… (с)

7 Ответ от alexii 2012-08-24 18:07:39

  • alexii
  • Разработчик
  • Неактивен

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

smaharbA, я имел в виду, что разбор «for /f» пропускает пустые строки.

8 Ответ от smaharbA 2012-08-24 18:12:04

  • smaharbA
  • Разработчик
  • Неактивен
  • Рейтинг : [0|0]

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

понял, учту

Я конечно далек от мысли… (с)

9 Ответ от Rumata 2012-08-24 18:14:47

  • Rumata
  • Разработчик
  • Неактивен

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

Согласен. Но это не совсем то. В отличие от tail, more +N пропускает N строк из потока. И результат совершенно не предсказуем для потока в конвейере.

( 2 * b ) || ! ( 2 * b )

10 Ответ от Rumata 2012-08-24 18:18:39 (изменено: Rumata, 2012-08-24 18:19:14)

  • Rumata
  • Разработчик
  • Неактивен

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

alexii пишет:

разбор «for /f» пропускает пустые строки

Именно поэтому в сообщении входной файл проходит через команду find /n /v «», в этом случае все строки сохраняются.

Но вот посмотрите на этот пример:

( for /l %l in ( 1, 1, 100 ) do @( echo %l & echo. ) ) | cmd /v:on /q /c "set n=0& for /f "delims=" %x in ('more') do (set /a n=!n!+1> nul& echo.%x& if !n! gtr 9 exit /b)"

( 2 * b ) || ! ( 2 * b )

11 Ответ от greg zakharov 2013-08-25 16:44:20 (изменено: greg zakharov, 2013-08-25 16:45:07)

  • greg zakharov
  • Гость

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

Rumata пишет:

Код на PowerShell:
echo (get-content -path %windir%…

Слишком сложно, не находите?

#имитация head
gc $env:windir\system32\drivers\etc\hosts | select -first 10
#имитация tail
gc $env:windir\system32\drivers\etc\hosts | selest -last 10

А если нужно передать команду PoSh, то будет примерно так:

powershell /nologo /noprofile /command "& {gc $env:windir\system32\drivers\etc\hosts | select -first 10}"

Скорость же работы PowerShell’а зависит от разных факторов. Бывает и так, что ngen.exe не помогает, в итоге приходится рядом с powershell.exe создовать config со специфичными для каждого случая параметрами.

12 Ответ от blackfox.blacktail 2013-08-28 15:06:14

  • blackfox.blacktail
  • Участник
  • Неактивен
  • Рейтинг : [0|0]

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

Добрый день.
Использовал пример для подсчета количества строк в файле:

more file | find /c /v ""

Отлично работает, но есть минус. Он в итоге считает строчку с символом ‘SUB‘. Как можно избавиться от подсчета таких строк?

13 Ответ от smaharbA 2013-09-01 10:37:46

  • smaharbA
  • Разработчик
  • Неактивен
  • Рейтинг : [0|0]

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

чем не устраивает ?

Я конечно далек от мысли… (с)

14 Ответ от blackfox.blacktail 2013-09-03 10:22:45

  • blackfox.blacktail
  • Участник
  • Неактивен
  • Рейтинг : [0|0]

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

2smaharbA
Если есть пустая строка, с символом SUB, её тоже считает.
Проще избавиться от этого символа, что я и сделал.
(При использовании copy, нужно поставить ключ /B)

15 Ответ от greg zakharov 2013-09-03 15:52:47

  • greg zakharov
  • Гость

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

smaharbA пишет:

find /c /v «» < file.txt

EQU

???

blackfox.blacktail пишет:

Если есть пустая строка, с символом SUB, её тоже считает.

На оном спотыкается и Ruby (версия старая, до установки последней дело никак не доходит).

16 Ответ от smaharbA 2013-09-03 17:27:15

  • smaharbA
  • Разработчик
  • Неактивен
  • Рейтинг : [0|0]

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

не эквивалентно

Я конечно далек от мысли… (с)

17 Ответ от greg zakharov 2013-10-13 10:27:59 (изменено: greg zakharov, 2013-10-13 10:28:42)

  • greg zakharov
  • Гость

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

Rumata пишет:

Возможно, существуют варианты лучше, но, к сожалению, я их не нашел и, поэтому, я использовал «хак» с временным файлом.

head без временных файлов.

smaharbA пишет:

не эквивалентно

Может быть, но сколько бы не пробовал на выходе одинаковый результат. Может у меня на Win2k3 find специфический?

18 Ответ от Мальчик-гей 2013-10-17 09:04:37

  • Мальчик-гей
  • Участник
  • Неактивен
  • Рейтинг : [4|0]

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

greg zakharov пишет:

smaharbA пишет:

не эквивалентно

Может быть, но сколько бы не пробовал на выходе одинаковый результат.

Коллега smaharbA прав:

C:\>find /c /v «» c:\autoexec.bat

———- C:\AUTOEXEC.BAT: 0

C:\>find /c /v «» < c:\autoexec.bat
0

C:\>

19 Ответ от greg zakharov 2013-10-17 11:51:48

  • greg zakharov
  • Гость

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

Мальчик-гей пишет:

Коллега smaharbA прав…

Смысл то один и тот же — количество строк в файле. А отбрасывать из вывода имя файла — дело вкуса. Так что это скорее «не равноценно», нежели «не эквивалентно». Или Вы русский язык как-то на свой лад интерпретируете?

20 Ответ от Rumata 2013-10-17 13:17:45

  • Rumata
  • Разработчик
  • Неактивен

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

greg zakharov
В данном случае smaharbA прав. Результат обеих команд одинаковый, но вывод — разный. Это как в JavaScript


undefined ==  null // true
undefined === null // false

( 2 * b ) || ! ( 2 * b )

21 Ответ от Мальчик-гей 2013-10-21 13:38:14

  • Мальчик-гей
  • Участник
  • Неактивен
  • Рейтинг : [4|0]

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

greg zakharov пишет:

Так что это скорее «не равноценно», нежели «не эквивалентно». Или Вы русский язык как-то на свой лад интерпретируете?

Дорогой коллега! Я понимаю эквивалентность вполне академически, как отношение, обладающее свойствами рефлексивности, симметричности и транзитивности. И в этом смысле на одном и том же классе объектов могут быть заданы различные отношения эквивалентности, так что объекты эквивалентные в одном отношении не будут эквивалентны в другом. Вспомните хотя бы конгруэнтность и подобие геометрических фигур. В рамках же этой темы требовалась более сильная эквивалентность, с совпадением формата вывода результатов, так как всё началось с

Rumata пишет:

more file | find /c /v ""

Команда выведет только размер файла в строках.

чему smaharbA и предложил эквивалентную именно в этом отношении замену.
По поводу «равноценно» и «эквивалентно» советую заглянуть в словарь, а ещё лучше, попробовать самому догадаться как же слово «эквивалентно» переводится на русский.

22 Ответ от greg zakharov 2013-10-21 15:07:13 (изменено: greg zakharov, 2013-10-21 16:40:40)

  • greg zakharov
  • Гость

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

Мальчик-гей пишет:

…советую заглянуть в словарь, а ещё лучше, попробовать самому догадаться как же слово «эквивалентно» переводится на русский.

Простите, у Вас филологическое образование? Или Вы страдаете дислексией, что не вполне можете разуметь написанное? Тем паче, что

Мальчик-гей пишет:

Я понимаю эквивалентность вполне академически, как отношение, обладающее свойствами рефлексивности, симметричности и транзитивности.

Вы сами дали понять, что всякую иную интерпретацию слова «эквивалентность» Вы просто-напросто игнорируете, что сужает Ваш кругозор до ортодаксального математического видения проблемы, вкупе с дезинтеграцией русского языка как такового, из чего следует заключить, что спор с Вами представляется трюизмом, а точнее софистикой, — ни одного аргумента с Вашей стороны не последовало.

Rumata пишет:

undefined ==  null // true
undefined === null // false

Не приплетайте сюда, пожалуйста, javascript. null и undefined — это два тривиальных типа данных, каждый из которых определяет только одно значение. Однако, заявлять об их эквивалентности, как-то однако. Считается, что у значение null — объектный тип. При всем этом значение null уникально и отличается от любых других. Если переменная равна null, значит в ней не содержится допустимого объекта (массива, числа, строки и т.д.) undefined же возвращается же либо при обращении к переменной, которй никогда не присваивалось значение, либо к свойству объекта которого не существует. При этом null и undefined не эквивалентны друг другу, несмотря на то, что оператор эквивалентности считает их равными, — это написано в любой книге по javascript. Это можно также утверждать и потому, что в отличии от null значение undefined не является зарезервированным словом. Если будет время, почитайте на досуге, например, Дэвида Флэнегана, если точно помню и не делайте скоропалительных выводов.
Резюмирую, несмотря на общую схожесть многих языков, абсолютизировать понятие эквивалентности не стоит, — если не каждый, то некоторые из языков вкладывают собственное понятие в «эквивалентность», причем будь то естественный язык или язык программирования. То, что выдает в командном языке одинаковый результат, но лишь с некоторым «мусором», знаете ли еще не повод утверждать что заяц — это волк и вообще не млекопитающее, а аргументы г-на Мальчик-гей не убедительны, ибо таким образом можно доказать все что угодно, в том числе что и Ленин был грибом.

23 Ответ от greg zakharov 2013-10-21 16:22:16 (изменено: greg zakharov, 2013-10-21 16:22:50)

  • greg zakharov
  • Гость

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

Напоследок:

E:\>find /c /v "" default.htm
---------- DEFAULT.HTM: 137

E:\>find /c /v "" < default.htm
137

Хотите сказать, что 137 не эквивалентно 137-ми? Тогда почему я не в курсе, что отменили элементарную математику?

24 Ответ от alexii 2014-04-29 11:14:56

  • alexii
  • Разработчик
  • Неактивен

Re: CMD/BAT: Чтение n первых/последних строк в файле; число строк в файле

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Весенние обои на windows
  • Cuda toolkit установка windows
  • Windows server блокировка сайта
  • Как переименовать юзера windows 11
  • Как назвать папку con в windows