|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] [Вопрос новичка] Ошибка в скрипте PowerShell |
|
PowerShell - [решено] [Вопрос новичка] Ошибка в скрипте PowerShell
|
Новый участник Сообщения: 12 |
Доброго времени суток, уважаемые форумчане! Прошу прощения, если этой темой нарушил какое-то правило форума, если подобный вопрос уже был или решение покажется вам слишком очевидным, первый раз использую PowerShell и поиск по гуглу/форуму ничего не дал. Буду признателен за любую помощь в исполнении простого скрипта.
Задача: Есть текстовый документ, содержащий в себе данные типа: Мне необходимо, чтобы PowerShell выдал мне информацию, что в текстовом документе: 1 - 3 2 - 2 4 - 1 Get-Content .\smm.txt | ForEach-Object -Begin { $wordCounts.@{} } -Process { $wordCounts.$_++ } -End { $wordCounts.GetEnumerator() | Sort-Object -Property Value } Не удается найти свойство "2" для данного объекта. Убедитесь, что оно существует и его можно задать. строка:1 знак:78 + ... Object -Begin { $wordCounts.@{} } -Process { $wordCounts.$_++ } -End ... + ~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : PropertyNotFound Не удается найти свойство "1" для данного объекта. Убедитесь, что оно существует и его можно задать. строка:1 знак:78 + ... Object -Begin { $wordCounts.@{} } -Process { $wordCounts.$_++ } -End ... + ~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : PropertyNotFound Не удается найти свойство "2" для данного объекта. Убедитесь, что оно существует и его можно задать. строка:1 знак:78 + ... Object -Begin { $wordCounts.@{} } -Process { $wordCounts.$_++ } -End ... + ~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : PropertyNotFound Не удается найти свойство "1" для данного объекта. Убедитесь, что оно существует и его можно задать. строка:1 знак:78 + ... Object -Begin { $wordCounts.@{} } -Process { $wordCounts.$_++ } -End ... + ~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : PropertyNotFound Не удается найти свойство "4" для данного объекта. Убедитесь, что оно существует и его можно задать. строка:1 знак:78 + ... Object -Begin { $wordCounts.@{} } -Process { $wordCounts.$_++ } -End ... + ~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : PropertyNotFound Не удается найти свойство "1" для данного объекта. Убедитесь, что оно существует и его можно задать. строка:1 знак:78 + ... Object -Begin { $wordCounts.@{} } -Process { $wordCounts.$_++ } -End ... + ~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : PropertyNotFound Невозможно вызвать метод для выражения со значением NULL. строка:1 знак:104 + ... ++ } -End { $wordCounts.GetEnumerator() | Sort-Object -Property Value ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : InvokeMethodOnNull |
|
Отправлено: 12:32, 26-01-2020 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 13:09, 26-01-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
------- Отправлено: 21:21, 26-01-2020 | #3 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать ISKA, Большое, человеческое, спасибо!
Еще такой вопрос, сколько примерно по времени должен обрабатываться файл с 1040000 строк? Запустил скрипт, прошел уже час, файл 003 создался сразу, но пустой, в PowerShell тишина, переживаю что ничего не происходит. |
Отправлено: 08:49, 27-01-2020 | #4 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 11:01, 27-01-2020 | #5 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать Медленное не построчное чтение, а группировка такого здоровенного массива.
Может быть, полезно будет добавить к Group-Object флаг -NoElement, т. к. список элементов в данном случае не нужен. |
------- Отправлено: 17:43, 27-01-2020 | #6 |
Старожил Сообщения: 250
|
Профиль | Отправить PM | Цитировать coollogan,
а просто использовать немного перереботанный оригиналиный скрипт не хотите ? $wordCounts = @{}; Get-Content .\data.txt | ForEach-Object { $wordCounts[$_] ++ } ; $wordCounts.GetEnumerator() | Sort-Object -Property Value $wordCounts = @{}; Get-Content .\bigdata.txt | ForEach-Object { $wordCounts[$_] ++ } ; $wordCounts.GetEnumerator() | Sort-Object -Property Value [code] Name Value ---- ----- 11 1691 4 1692 2 3384 1 3386 [/CODE ] |
Последний раз редактировалось Serguei Kouzmine, 27-01-2020 в 18:34. Отправлено: 18:25, 27-01-2020 | #7 |
Старожил Сообщения: 239
|
Профиль | Отправить PM | Цитировать Цитата coollogan:
|
|
Отправлено: 21:54, 27-01-2020 | #8 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать Я сгенерировал файл в миллион строк командой
Вот этой командой всё отработало за 30,59 сек. А если убрать -NoElement, то за 63,91 сек. Логично - чем меньше данных прокачиваешь через конвейер и чем раньше фильтруешь данные, тем быстрее работает. |
------- Последний раз редактировалось DJ Mogarych, 27-01-2020 в 23:27. Отправлено: 23:17, 27-01-2020 | #9 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать v79italya, загрузил файл для теста на диск: yadi.sk/d/a4DIRzf2qCISYg (надеюсь на форуме разрешено делиться ссылками на текстовые документы)
DJ Mogarych, использовал код: gc C:\temp\million.txt |group -noel |select name,count |sort @{e={$_.name -as [int]}} |Export-Csv C:\temp\numbers.csv ';' -NoType Это связано с тем, что у меня не просто нули и единицы, а ссылки, я правильно понимаю? Следующий файл который я хотел обработать весит 147мб.. Цитата Serguei Kouzmine:
|
|
Отправлено: 11:22, 28-01-2020 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Redhat/Fedora - вопрос новичка - имя ПК | chek | Общий по Linux | 1 | 23-10-2017 19:53 | |
Разное - С чего начать настройку Windows 7 x64 ? - какие статьи прочитать (вопрос/ы новичка). | Макс Фолдер | Microsoft Windows 7 | 23 | 06-03-2016 05:33 | |
CMD/BAT - ошибка в скрипте | cyber_ua | Скриптовые языки администрирования Windows | 4 | 01-03-2012 16:46 | |
VBS/WSH/JS - ошибка в скрипте | D_e_n_n | Скриптовые языки администрирования Windows | 3 | 12-08-2011 14:03 | |
Вопрос новичка, о CSS+DIV верстке | Bullet-Avalon | Вебмастеру | 12 | 17-02-2009 00:57 |
|