Есть ли способ для разбиения на страницы вывода путем подключения его к некоторой команде «больше», которая доступна в оболочках linux \ unix?Эквивалент команды «больше» или «меньше» в Powershell?
ответ
Ну ... Существует «больше», что является более или менее (...) тем же, что вы ожидаете от других платформ. Попробуйте следующий пример:
dir -rec | more
more
не используется для предела вывода, он используется для постраничной производства и сделать его более удобным для чтения в терминале, если что-нибудь.
Вы говорите об использовании head
и tail
? EggHeadCafe есть пример:
type my.txt | select-object -first 10
type my.txt | select-object -last 10
эмулировать head
и tail
.
Powershell Community Extensions имеет удобную функцию с именем «меньше», что обеспечивает более полный набор функций Unix-стиль, используя портированую копию less.exe на самом деле обрабатывать подкачки.
Вы можете установить его, начав администратора оболочки и работает:
Find-Package pscx | Install-Package -Force
(force
является обновление старых версий)
Вы можете строки трубы к нему, или дать имена файлов, как прямой параметры.
type foo.txt | less
less foo.txt, bar.txt, baz.txt
Он работает в ConEmu и Powershell окна, но, к сожалению, она не работает так, как вы ожидали бы под v2.0 ISE.
Спасибо! Меньше - это намного больше! – jpaugh
Да есть:
some-cmdlet | out-host -paging
Я использовал все более и менее раньше, ни будь таким же удобным для пользователя, каким я должен думать. Я нашел этот вариант более полезным/полезным, чем другие. Огромное спасибо. – TheXenocide
Для печати содержимого очень большого файла это сработало очень хорошо для меня, так как командлет Get-Content начал немедленно, чтобы передать содержимое командлету out-host. –
Обратите внимание, что параметр -Page Out-Host не поддерживается в PowerShell ISE. –
dir -rec | more
плохой совет.
Это заставит PowerShell оценить всю команду до начала вывода на экран, что-то, что не нужно что-то вроде выхода Разбиение
В некоторых крайних случаях, это может привести к сбою системы (например, dir 'C:\' | more
)
С другой стороны, использование out-host -paging
будет выводить информацию на экран, поскольку он доступен.
Когда вы используете удаленный PowerShell и хотите передать команду на удаленном сервере Windows через пейджер, прокладка через 'out-host -paging' работает по своему желанию. Трубопровод через 'more' при запуске удаленной команды бесполезен: весь текст отображается сразу. – IllvilJa
Псевдоним для 'out-host -paging' -' oh -pa'. – Josh
Это комментарий, а не ответ –
Я добавил определение функции и псевдоним в профиль по умолчанию в %SystemRoot%\system32\windowspowershell\v1.0\profile.ps1
Эта функция главным образом основана на this blog entry by Aman Dhally с добавлением обработки исключений для прессования Q
во время подкачки.
function more2
{
param(
[Parameter(ValueFromPipeline=$true)]
[System.Management.Automation.PSObject]$InputObject
)
begin
{
$type = [System.Management.Automation.CommandTypes]::Cmdlet
$wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(‘Out-Host’, $type)
$scriptCmd = {& $wrappedCmd @PSBoundParameters -Paging }
$steppablePipeline = $scriptCmd.GetSteppablePipeline($myInvocation.CommandOrigin)
$steppablePipeline.Begin($PSCmdlet)
}
process
{
try
{
$steppablePipeline.Process($_)
}
catch
{
break;
}
}
end
{
$steppablePipeline.End()
}
#.ForwardHelpTargetName Out-Host
#.ForwardHelpCategory Cmdlet
}
New-Alias more more2
так что я могу назвать его просто как dir -r | more
и сразу начинает выгружаемого выход из трубопровода PowerShell (как противоположность дожидаясь полного выхода с more.com).
Если у вас установлен VIM, я полностью наслаждаюсь dir -r | vim -R -
. К сожалению, такая же проблема возникает с more
(то есть без потоковой передачи).
Мне нравится команда «меньше» лучше, чем команда «больше», потому что вы можете пойти также назад (вместо просто вперед). Я считаю эту функцию очень полезной.
«меньше» от msysgit работает для меня (для меня путь C:\Program Files (x86)\Git\bin\less.exe
). У меня были ошибки в powershell с версией GOW «меньше».
Пример:
ls|less
Чтобы сохранить печатая я добавил псевдоним "л" меньше в моем Powershell профиля:
sal l "C:\Program Files (x86)\Git\bin\less.exe"
Предложение: Поместите файл во временный/одноразовый .txt-файл, затем позвольте ОС вызывать ваш любимый редактор, тот, который связан с расширением .txt.
Get-Process | Out-File temp.txt; . \ temp.txt
Примечание: каждый раз, когда вы используете это, вы перезаписываете любой существующий файл temp.txt. Выберите имя файла с умом.
Выше была только основная идея.
Следующий шаг будет преобразование это в "| более", используя псевдонимы или функции профиля и т.д.
НТН, Марсело Finkielsztein
PS> cd C:\
PS> dir -r -ex 0 | out-Host -paging
PS> dir -file -r -ea 0 c:\Windows | Select FullName,Length,LastWriteTime | out-gridview
cat C:\Temp\test.txt
кошка является псевдонимом для Get-Content - с большие файлы вы получите - больше - выход в нижней части терминала
вы можете также вы можете добавить -wait
cat C:\Temp\test.txt -wait
-wait, как с помощью хвоста, но это на самом деле перезапустив команды просто освежает выходного
cat C:\Temp\test.txt | oh –Paging
о = Out-Host
- 1. Свинный эквивалент SQL БОЛЬШЕ/МЕНЬШЕ?
- 2. Эквивалент команды времени в powershell
- 3. эквивалент команды cURL в powershell
- 4. Windows Powershell эквивалент команды bash
- 5. Double.Epsilon равенства, больше, меньше, меньше или равно, больше или равно
- 6. Эквивалент Powershell для команды «at»
- 7. эквивалент Powershell команды Select LINQ?
- 8. Javascript Больше или меньше
- 9. unix test -f эквивалент команды в powershell?
- 10. Больше и меньше или меньше и больше запросов?
- 11. Cookies: больше, но меньше или меньше, но больше?
- 12. Больше, меньше или равно, больше или равно в MIPS
- 13. Float больше или меньше нуля
- 14. Внутренняя работа больше или меньше
- 15. Powershell эквивалент команды «хвост» ПОЧТИ работает удаленно
- 16. типажей больше или меньше структуру в C
- 17. Объекты в PHP: больше или меньше лучше?
- 18. Найти меньше или больше, чем в underscore.js
- 19. Ошибка команды Powershell
- 20. Команды сервера (или эквивалент) в node.js
- 21. Эквивалент расширения истории в PowerShell?
- 22. Общий процент SSRS меньше или больше 100%
- 23. yii2 BaseActiveRecord findAll() условия больше или меньше
- 24. Как проверить, больше или меньше даты/времени
- 25. SQLite запрос меньше или больше, чем проверить
- 26. Больше, меньше или равно на языке ассемблера?
- 27. Больше или меньше операторов и версий
- 28. Quartz architecture Q - больше или меньше заданий
- 29. Код партии: между датами или больше/меньше?
- 30. OpenCV Keypoints ответ, больше или меньше?
делает именно это, когда вы посмотрите на определение функции с gcm more | select Определение | fl – Joey
На самом деле, соединение с трубопроводом больше, чем трубопроводы на «out-host -paging», который отделен от реализации more.com. Однако на практике различий нет. –
Ни в PS1 на Vista, ни PS2 на Win7, по крайней мере для меня.«more» - это функция, которая делает небольшую работу заранее, а затем просто вызывает more.com. Out-Host -Paging отдельно от этого (и не зависит от more.com). Разница наиболее заметна, когда вы используете то, что не возвращается сразу, например, пример gci -rec. Трубопровод к Out-Host является немедленным, так как он может обрабатывать входные данные одной строкой за один раз, а переход на большее время занимает время, поскольку PS сначала собирает все строки, а затем отправляет их на more.com. – Joey