Рекурсивный поиск не работает на grep на solaris

Можно извлечь открытый ключ PEM из использования закрытого ключа OpenSSH:

openssl rsa -pubout -in .ssh/id_rsa

Но OpenSSH не имеет никаких инструментов для преобразования из или также открытые ключи PEM (примечание: закрытые ключи PEM являются собственным форматом OpenSSH для ключей протокола 2),

20
21.05.2014, 21:15
6 ответов

Я не знаком с Солярисом, но если Вы переключитесь от GNU/linux до Соляриса, то Вы найдете, что большинство команд будет вести себя немного отличающееся. Версия GNU инструментов Unix имеет дополнительные функции, отсутствующие в "собственном" Unixes.

Можно загрузить GNU grep (s) здесь, затем компилируют и устанавливают.

Если у Вас действительно есть корневой доступ, Вы могли бы хотеть работать, настраивают - префикс =/usr/local Таким образом, что утилиты устанавливают в/usr/local

Если у Вас нет корневого доступа, Вы могли бы хотеть работать, настраивают - prefix= $ {ДОМОЙ} Таким образом, что утилиты устанавливают в Ваш корневой каталог

4
27.01.2020, 19:43
  • 1
    --prefix=${HOME}}/.local не, вероятно, более желательно... никакая потребность создать помехи корневому каталогу share и lib папки –  jpaugh 26.08.2016, 15:53
  • 2
    Один человек создал помехи, другой человек, организовал –  bsd 26.08.2016, 22:47
  • 3
    Несомненно! Честно, я защищаю от выходного, когда я говорю,"share? Это получено, чтобы быть каталогом спама!" rm -rf Doh! –  jpaugh 27.08.2016, 00:27

Загрузите автономное ack сценарий жемчуга из http://betterthangrep.com/, вставленного в него Ваш $HOME/bin, и учитесь использовать его вместо этого. Я нахожу, что это, как рекламируется, лучше, чем grep для многого использования в моей ежедневной технической разработке.

3
27.01.2020, 19:43

Если Вы хотите использовать find, это было бы самым быстрым путем:

find . -type f -exec grep pattern {} +

Однако Гну grep очень вероятно уже установлена на Вашей машине.

Это - часть стандартной установки на Солярисе 11 дюймов /usr/gnu/bin/grep. То же для Соляриса 10, где Вы находите его в /usr/sfw/bin/ggrep. На более старых выпусках это, возможно, было установлено от sunfreeware или других репозиториев, проверить /usr/local/bin/grep и /opt/csw/bin/grep для общих местоположений.

31
27.01.2020, 19:43
  • 1
    Вы могли также использовать -name опция с find. –  sleepyweasel 03.03.2017, 21:56
  • 2
    @sleepyweasel -name не будет искать в файлах, но только искать имена файлов, который не является тем, что просит OP. –  jlliagre 04.03.2017, 17:21

Солярис grep не имеет -r опция.

Можно использовать следующую команду.

find . -type f | xargs grep 'sometext'
3
27.01.2020, 19:43
  • 1
    Вам не нужно "управление системой", чтобы скомпилировать GNU grep и установить его где-нибудь в соответствии с Вашим корневым каталогом. –  Keith Thompson 10.12.2011, 02:27
  • 2
    @KeithThompson благодаря указывают на это. Я исправил свой ответ. –  Sachin Divekar 10.12.2011, 06:07
  • 3
    Это очень полезно для нахождения всех файлов, соответствующих шаблону имени и выставочным результатам с файлом. например. find /opt/ -name "*.sh" -type f | xargs grep "start" –  Underverse 30.03.2015, 07:17

Используйте ggrep вместо этого, если он установлен.

Например, Поиск "mysearchstring" из текущего каталога вниз ко всем подкаталогам (-R), и шоу имя файла и путь для соответствий (-H) и проигнорируйте двоичные файлы (-I). Не забывайте * на конце команды.

/usr/sfw/bin/ggrep -H -R -I "mysearchstring" *

ggrep расположен в /usr/sfw/bin Можно добавить его к профилю с командой EXPORT, таким образом, можно назвать его из командной строки непосредственно.

PATH=$PATH:/usr/sfw/bin
export PATH

Версия Соляриса: SunOS 5.10 Generic_147440-13 sun4u sparc SUNW, Предприятие SPARC

6
27.01.2020, 19:43
  • 1
    , По крайней мере, в моей системе, ggrep действительно GNU grep.Спасибо! –  jpaugh 26.08.2016, 15:55

Да, Вам будет нужен GNU grep. Лично я не пропускаю флаг "-r", потому что можно сделать то же с комбинацией find и grep но это напоминает, что имение в наличии инструментов GNU на Вашем поле Solaris - то, что я рассмотрел бы лучшей практикой. Таким образом, здесь мы идем:

Я не пошел бы о загрузке исходного кода от различных мест в Интернете и затем создании себя. Это не необходимо. Если Вы просто хотите, чтобы Ваш Солярис имел типичные инструменты GNU в наличии, затем делают следующим образом:

Если Вы находитесь на Солярисе 10, необходимо получить Солярис 10 Сопутствующих Дисков. Это раньше распределялось Sun, но он теперь живет здесь. Лично я делал бы привычкой всегда для установки содержания этого диска или по крайней мере самых важных частей GNU. Сделайте это частью Вашего JumpStart (или независимо от того, что Вы используете) для новых серверов в Вашей организации!

Если Вы находитесь на Солярисе, 11 жизней намного более просты. Инструменты GNU обычно устанавливаются по умолчанию, но не делают все они распространены в локальные зоны. IFS, упаковочная система на Солярисе 11, делает Вашу жизнь намного легче, таким образом, действительно необходимо перемещаться в Солярис 11 (много других причин также). Список пакетов, которые необходимо рассмотреть всегда для имения в наличии для любой зоны, является ими:

pkg://solaris/archiver/gnu-tar
pkg://solaris/developer/gnu-binutils
pkg://solaris/diagnostic/top
pkg://solaris/file/gnu-coreutils
pkg://solaris/file/gnu-findutils
pkg://solaris/text/gawk
pkg://solaris/text/gnu-diffutils
pkg://solaris/text/gnu-grep
pkg://solaris/text/gnu-sed

и если Вы используете хост к цели разработки/сборки, Вы могли бы хотеть добавить:

pkg://solaris/developer/build/gnu-make
pkg://solaris/developer/build/make
pkg://solaris/developer/gcc-45
pkg://solaris/system/header
pkg://solaris/developer/build/autoconf
pkg://solaris/developer/build/automake-110

Лично я сделал бы вышеупомянутое (потенциально меньше dev инструменты) частью установки моей компании по умолчанию для новых серверов / зоны. Системные администраторы Соляриса часто настаивают на том, чтобы отличаться от мира Linux, но нет действительно никакой потребности к. Просто сделайте это и сделайте это частью Вашей установки по умолчанию.Вы не пожалеете об этом.

1
27.01.2020, 19:43
  • 1
    я не уверен, читаете ли Вы часть, где я сказал ', учитывая, что я не имею никакого контроля над машиной...' Я уверен, что это - полезная информация кому-то, но это - едва ответ на вопрос, который я задал. –  Eric Wilson 27.02.2013, 15:18
  • 2
    Это - информация для Вашего системного администратора. Он дал Вам хромую машину, по моему скромному мнению. Эти вещи должны быть установлены по умолчанию. Но да, Вы правы, информация была, возможно, так же предназначена для других, которые приезжают в это место и читают Ваш вопрос. Сегодня Вы пропускаете GNU grep, завтра Вы будете пропускать tar GNU и т.д. Вы просто еще не знаете это. :-) –  peterh 28.02.2013, 16:40

Теги

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