使用PowerShell仅显示属性文件中的属性名
嘿,我懂你想从厂商给的properties文件里只提取属性名的需求,这在日常处理配置文件时确实很实用。下面给你几个靠谱的命令行方案,你可以根据自己的环境选择:
方法1:用awk(推荐,逻辑清晰)
awk可以直接按等号分割行,同时跳过注释和空行:
awk -F'=' '!/^#/ && NF>0 {print $1}' your-file.properties
-F'=':把等号设为字段分隔符!/^#/:排除以#开头的注释行NF>0:跳过空行print $1:打印分割后的第一个字段(也就是属性名)
方法2:grep + sed组合
先过滤掉注释和空行,再移除等号及后面的内容:
grep -v '^#' your-file.properties | grep -v '^$' | sed 's/=.*//'
grep -v '^#':去掉注释行grep -v '^$':去掉空行sed 's/=.*//':把每一行中等号及之后的所有内容替换为空
方法3:只用sed处理
一行命令搞定过滤和提取:
sed -n '/^[^#]/s/=.*//p' your-file.properties
-n:只打印经过处理的行/^[^#]/:匹配不是以#开头的行s/=.*//:移除等号及后面的内容p:打印处理后的结果
小提示:如果你的properties文件里有不规范的属性名(比如包含等号),这些方法可能会出错,但标准的properties文件里属性名是不会包含等号的,所以一般不用担心~
内容的提问来源于stack exchange,提问作者jks
相关产品推荐
相关产品推荐

