Утилита RoboCopy имеет/B опцию, которая предоставит доступ из учетной записи с административными привилегиями, которые иначе перестали бы работать. Это также позволяет копии продолжаться, если только единственный файл перестал работать или заблокирован.
Если Вы просто хотите к , видят , SAN, grep DNS:
очевидное решение.
, Если Вы хотите иметь более чистый список для обработки далее, можно использовать этот Perl regex для извлечения просто имен: @names=/\sDNS:([^\s,]+)/g
, Например:
true | openssl s_client -connect example.com:443 2>/dev/null \
| openssl x509 -noout -text \
| perl -l -0777 -ne '@names=/\bDNS:([^\s,]+)/g; print join("\n", sort @names);'
, Который произвел бы это:
example.com
example.edu
example.net
example.org
www.example.com
www.example.edu
www.example.net
www.example.org
, Таким образом, Вы могли передать это по каналу к while read name; do echo "processing $name ..."; done
и т.д.
Или для разделенного запятыми списка на одной строке, замените join("\n",
join(",",
(Эти -0777
, переключатель для жемчуга заставляет ее считать целый вход сразу вместо линию за линией)
Та энэ командыг ашиглан домэйнүүдийн жагсаалтыг гаргаж болно (линукс дээр шалгасан):
cat cert.pem | openssl x509 -text | grep DNS
если вы хотите ограничить зависимости до openssl, grep, sed и tr и при этом иметь легко анализируемый/итерируемый вывод:
$ openssl x509 -text -in cert.pem | grep DNS | sed s/DNS://g | tr -d ' ' | tr, ' '
вывод:
example.com example.org www.example.com www.example.org
$ openssl x509 -text -in cert.pem | grep DNS | sed s/DNS://g | tr -d ' ' | tr, \\n
вывод:
example.com
example.org
www.example.com
www.example.org
$ openssl x509 -text -in cert.pem | grep DNS | sed s/DNS://g | tr -d ' '
вывод:
example.com,example.org,www.example.com,www.example.org
что здесь происходит?
openssl x509 -text -in cert.pem
выводит удобочитаемую информацию о сертификатеgrep DNS
извлекает строки, содержащие строку:DNS
sed s/DNS://g
удаляет все вхождения:DNS:
tr -d ' '
удаляет все символы пробела tr, ' '
заменяет все символы запятая на пробел символtr, \\n
заменяет все запятая символы новой строки символ|
оператор конвейер передает стандартный вывод команды предшествующий каналу к стандартному вводу следующей за ним команды