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

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

10.01.2022, 12:54. Показов 6085. Ответов 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,816
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
Нарушитель
7168 / 2337 / 353
Регистрация: 10.12.2013
Сообщений: 8,095
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,816
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,816
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,816
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,816
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
Нарушитель
7168 / 2337 / 353
Регистрация: 10.12.2013
Сообщений: 8,095
14.01.2022, 00:57
там собственно кода на три строчки.

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

а что не завелось ?
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,816
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,816
14.01.2022, 02:33
Цитата Сообщение от alpap Посмотреть сообщение
если надо учитывать все строки (и пустые), то
Конечно, надо. Иначе смысл?
На каких кодировках проверено?
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
14.01.2022, 02:35
Цитата Сообщение от FlasherX Посмотреть сообщение
На каких кодировках
ну у меня все в utf-8
0
Нарушитель
7168 / 2337 / 353
Регистрация: 10.12.2013
Сообщений: 8,095
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,816
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
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
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: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru