PowerShell FINDSTR eqivalent?

Вот ключевые различия и сходства между внутренним классом Java и статическим вложенным классом.

Надеюсь, что это поможет!

Внутренний класс

  • к внешнему классу и экземпляру, и статическим методам и полям
  • Связан с экземпляром охватывающего класса, поэтому для его создания сначала нужен экземпляр внешнего класса (обратите внимание на место ключевого слова new ):
    Outerclass.InnerClass innerObject = outerObject.new Innerclass();
    
  • Невозможно определить какие-либо статические элементы сами
  • Не может быть объявления класса или интерфейса

Статический вложенный класс

  • Невозможно получить доступ к методам или полям экземпляра внешнего класса
  • Не связано с каким-либо экземпляром класса включения So, чтобы его создать:
    OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();
    

Сходства

  • Оба внутренних класса могут обращаться к даже частным полям и методам внешнего класса
  • . Также класс Outer имеет доступ к закрытым полям и методам внутренних классов
  • Оба класса могут иметь частный , защищенный или общедоступный модификатор доступа

Зачем использовать Neste d Классы?

Согласно документации Oracle есть несколько причин ( полная документация ):

  • Это способ логически группы классов, которые используются только в одном месте: если класс полезен только для одного другого класса, то логично вставлять его в этот класс и поддерживать вместе. Вложение таких «вспомогательных классов» делает их пакет более упорядоченным.
  • Он увеличивает инкапсуляцию: рассмотрим два класса верхнего уровня: A и B, где B нужен доступ к членам A, которые иначе были бы объявлены частными. Скрывая класс B в классе A, члены A могут быть объявлены частными, а B может получить к ним доступ. Кроме того, сам B может быть скрыт от внешнего мира.
  • Это может привести к более легко читаемому и поддерживаемому коду: Вложение небольших классов в классы верхнего уровня помещает код ближе к тому, где он используется.
blockquote>

23
задан Peter Mortensen 16 January 2010 в 17:27
поделиться

4 ответа

Вот быстрый ответ

Get-ChildItem -Recurse -Include *.log | select-string ERROR 

, я нашел его здесь , который имеет большой всесторонний ответ!

26
ответ дан jpaugh 29 November 2019 в 02:19
поделиться

Например, найти все экземпляры «#include» в файлах c в этом каталоге и во всех подкаталогах.

gci -r -i *.c | select-string "#include"

gci - это псевдоним get-childitem.

7
ответ дан denis phillips 29 November 2019 в 02:19
поделиться

Только подробно остановиться на ответе Monroecheeseman. gci является псевдонимом для, Добираются-ChildItem (который является эквивалентом dir или ls), переключатель-r делает рекурсивный поиск, и средства-i включают.

Передача по каналу результата того запроса к избранной строке имеет его, считал каждый файл и ищут строки, соответствующие регулярному выражению (обеспеченным в этом случае является ОШИБКА, но это может быть любое регулярное выражение.NET).

результатом будет набор объектов соответствия, показывая соответствие строки, файл, и и другая сопутствующая информация.

3
ответ дан Steven Murawski 29 November 2019 в 02:19
поделиться
if ($entry.EntryType -eq "Error")

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

У меня есть сценарий PS , который сейчас просматривает журналы для меня удаленно - некоторые простые изменения должны заставить вас работать.

edit: Полагаю, мне следует добавить, что для этого уже создан командлет, если вы не хотите развернуть его так, как я. Проверить:

man Get-EventLog
Get-EventLog -newest 5 -logname System -EntryType Error
0
ответ дан slipsec 29 November 2019 в 02:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: