Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 12.07.2017
Сообщений: 177

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

10.01.2022, 12:54. Показов 6091. Ответов 51
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть в каталоге текстовые файлы.
Надо сосчитать кол-во строк в каждом файле и записать полученное число в другой текстовый файл с тем же именем, но конечно с другим расширением.
Спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.01.2022, 12:54
Ответы с готовыми решениями:

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

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

Подсчитать количество букв "О" в текстовом файле, и записать это количество в другой текстовый файл
2)Записать программу которая считает количество букв "О" в текстовом файле, и записать это количество в другой текстовый файл.

51
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
11.01.2022, 21:08
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от FlasherX Посмотреть сообщение
а с этим
Код выполнен за 41349 мс
1
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,817
11.01.2022, 22:34
alpap, хм, что-то странное. Там большая структура папок? А можешь скинуть? Или долго возиться?
Знаю, что на js рекурсия так себе. Лучше обработку where позже сделаю, тогда в разы быстрее должно быть.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
12.01.2022, 01:41
Цитата Сообщение от FlasherX Посмотреть сообщение
большая структура папок
мягко очень мягко сказано (специально в своё время создавались для проверки) + много кириллицы в путях, так что очень даже может быть. Позже сделаю на ps, посмотрю какая скорость достижима.
0
 Аватар для volodin661
7151 / 2339 / 353
Регистрация: 10.12.2013
Сообщений: 8,115
12.01.2022, 02:06
textfileproc.ps1
PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
param (
        $startdir = '.',
        $filter   = '*.txt',
        [Switch]  $r
      )
 
$files =0
$dirs  =0
$total =0
 
foreach ( $item in (Get-ChildItem $startdir -Filter $filter -Recurse:$r) ) {
 
    switch ( $item -is [IO.FileInfo] ) { 
 
        $true
        {   $files++;
            $lines = 0;
            $stream = $item.OpenText();
            while( $stream.ReadLine() ) {
 
                ++$lines;
 
            }
            $total += $lines;
            New-Item -ItemType File -Path "$item.nums" -Value $lines -Force -Whatif
        }
 
        $false
        { ++$dirs }
    }
}
"Total Files: $files"
"Total Dirs:  $dirs"
"Total lines in all files: $total"
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,817
12.01.2022, 02:18
alpap, а что по моей просьбе?
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
12.01.2022, 02:46
Цитата Сообщение от FlasherX Посмотреть сообщение
что по моей просьбе?
о да ...
Цитата Сообщение от FlasherX Посмотреть сообщение
долго возиться
+ много того что не хотелось бы светить, а переименовывать ... см. выше.

Добавлено через 1 минуту
мне не сложно перепроверить на новом коде.
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,817
12.01.2022, 08:40
Цитата Сообщение от alpap Посмотреть сообщение
мне не сложно перепроверить на новом коде.
Ну давай. На малых объёмах медленнее, на больших — посмотрим.
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@set @a=0/*&cscript /nologo /e:jscript %0&pause>nul&exit*/
var sTime = new Date().getTime(), f, size, lines
var fso  = WSH.CreateObject("Scripting.FileSystemObject")
var list = WSH.CreateObject("WScript.Shell").exec('cmd /q/c chcp 1251>nul|where /r "%cd%" *.txt').stdOut
while (!list.atEndOfStream) {
  f = list.readLine()
  if (f.length != 0){
    lines = 1; size = fso.getFile(f).size
    if(size > 0){with(fso.openTextFile(f)){skip(size);lines=line;close()}}
    with(fso.createTextFile(f.slice(0,-4)+'.str',1)){write(lines);close()}
  }
}
list.close(); list = null; fso = null; CollectGarbage()
WSH.echo('Код выполнен за ' + (new Date().getTime() - sTime) + ' мс')
1
0 / 0 / 0
Регистрация: 12.07.2017
Сообщений: 177
12.01.2022, 17:05  [ТС]
FlasherX, пишет ошибку:
Work16.bat(1, 6) Ошибка компиляции Microsoft JScript: Условная компиляция выключена
и курсор моргает...
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,817
12.01.2022, 17:28
ZorKon71, очевидно, что сверху кода что-то лишнее добавили.
0
0 / 0 / 0
Регистрация: 12.07.2017
Сообщений: 177
13.01.2022, 10:22  [ТС]
FlasherX, нет. Как указано, скопипастил.
Я наверное не так понял.
Текст запихнул в 1234.bat.
А наверное такие скрипты как-то по другому на винде надо запускать?
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,817
13.01.2022, 10:55
ZorKon71, прицепите сам файл, проверю.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
14.01.2022, 00:39
Цитата Сообщение от FlasherX Посмотреть сообщение
на больших — посмотрим
ну уже лучше:
Код выполнен за 18302 мс

Добавлено через 4 минуты
volodin661, это готовый код или шаблон (путь к размышлению), потому как код что-то не завелся.
1
 Аватар для volodin661
7151 / 2339 / 353
Регистрация: 10.12.2013
Сообщений: 8,115
14.01.2022, 00:57
там собственно кода на три строчки.

работает. под MacOS

а что не завелось ?
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,817
14.01.2022, 00:58
Цитата Сообщение от alpap Посмотреть сообщение
Код выполнен за 18302 мс
ОК. ЧТД. Спасибо за тест. Не прошло и года. )
Т. е. имеем 18 сек против твоих 2 мин и поддержку всех популярных кодировок.
ТС осталось правильно распорядиться кодом. Тем более, что версии ОС у нас троих одинаковые.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
14.01.2022, 02:25
как и обещал, на PowerShell
PowerShell
1
2
3
4
5
6
7
$dir = 'C:\Folder'
$ext = '*.txt'
 
foreach ($filei in (gci $dir $ext -rec)) {
  $outFile = Join-Path $filei.DirectoryName "$($filei.BaseName).myExt"
  (gc -LiteralPath $filei.FullName|measure -Line).Lines|Out-File -LiteralPath $outFile
}
(все на тех же 1300 файлах с жесткой рекурсией): 15.3991672 s

Добавлено через 11 минут
если надо учитывать все строки (и пустые), то
PowerShell
1
(gc -LiteralPath $filei.FullName|measure -Line).Lines
заменить на
PowerShell
1
(gc -LiteralPath $filei.FullName).Length
причем время уменьшилось до: 10.9592629 s
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,817
14.01.2022, 02:33
Цитата Сообщение от alpap Посмотреть сообщение
если надо учитывать все строки (и пустые), то
Конечно, надо. Иначе смысл?
На каких кодировках проверено?
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
14.01.2022, 02:35
Цитата Сообщение от FlasherX Посмотреть сообщение
На каких кодировках
ну у меня все в utf-8
0
 Аватар для volodin661
7151 / 2339 / 353
Регистрация: 10.12.2013
Сообщений: 8,115
14.01.2022, 02:35
вместо gc $file | measure

лучше
1)
switch -file $file { default {++$line} }

что гарантированно даёт построчное чтение,
иначе на гигабайтных файлах будет нехорошо
1
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
14.01.2022, 02:38
да вроде и (gc ...).Length правильно показывает, надо проверить что быстрее.
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,817
14.01.2022, 02:41
Цитата Сообщение от alpap Посмотреть сообщение
ну у меня все в utf-8
Переделай часть в ANSI, OEM, UTF-16 с/без ВОМ. Посмотрим, что там.
У меня код пока не заводится, хотя ошибок не выдаёт.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.01.2022, 02:41

Узнать количество строк в текстовом файле и записать количество в Label
Здравствуйте! Как знать количество строк в текстовом файле(.txt) и записать это количество в Label? Только не просто отобразить...

Найти в текстовом файле все отрицательные числа и записать их в другой файл
Всем добрый день!) нужна помощь в решении одной задачки...плиззз:) В текстовом файле FileIn записано несколько строк, содержащие...

В текстовом файле удалить последнюю строку результат записать в другой файл
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <conio.h> #include <string.h> #include <windows.h> #include...

Поиск одинаковых строк в текстовом файле и вывод дубликатов в другой текстовый файл
Добрый вечер. Нужна помощь знатоков Есть текстовый файл по пути D:\arxiv\rezult.txt с содержимым: Air robot MPEG-4-5min...

Удалить в текстовом файле все слова в скобках вместе со скобками, а результат записать в другой файл
Нужно написать процедуру: Удалить в текстовом файле все слова в скобках всесте со скобками , а результат записать в другой файл...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru