【发布时间】:2018-03-14 20:36:07
【问题描述】:
我有一个属性文件,其中一个属性看起来像这样
tls.default.cipherSuites = TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,\
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,\
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,\
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,\
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,\
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,\
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,\
TLS_DHE_RSA_WITH_AES_128_CBC_SHA,\
TLS_RSA_WITH_AES_128_GCM_SHA256,\
TLS_RSA_WITH_AES_128_CBC_SHA256,\
TLS_RSA_WITH_AES_128_CBC_SHA,\
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,\
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,\
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,\
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,\
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,\
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,\
TLS_EMPTY_RENEGOTIATION_INFO_SCSV
我只想显示属性名称而不是其值。我试过下面的命令
Get-Content -Path "C:\Test\run_pa.properties" |
Where-Object { ! $_.StartsWith("#") } |
? { $_.trim() -ne "" } | ForEach-Object { $_ -replace '=.*' }
但我得到如下输出
tls.default.protocols
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,\
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,\
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,\
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,\
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,\
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,\
TLS_DHE_RSA_WITH_AES_128_CBC_SHA,\
TLS_RSA_WITH_AES_128_GCM_SHA256,\
TLS_RSA_WITH_AES_128_CBC_SHA256,\
TLS_RSA_WITH_AES_128_CBC_SHA,\
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,\
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,\
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,\
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,\
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,\
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,\
TLS_EMPTY_RENEGOTIATION_INFO_SCSV
如何避免这种情况下的属性值并仅获取属性名称?
【问题讨论】: