如何在Bash中进行字符对比,判断分隔符两侧内容是否匹配
Bash 单行命令实现/分隔符两侧内容匹配判断
完全可以通过单行命令实现该需求,以下是不同适用场景的可直接使用的命令:
单条内容直接输出匹配结果
直接替换命令中双引号内的待判断内容即可:echo "2/2" | awk -F'/' '{print $1==$2 ? "匹配" : "不匹配"}'适配脚本逻辑判断(通过返回码区分结果)
匹配时返回状态码0,不匹配返回1,可直接拼接&&/||执行后续逻辑:echo "2/2" | awk -F'/' '{exit !($1==$2)}' && echo "匹配时执行的操作" || echo "不匹配时执行的操作"批量处理整列数据
假设所有待判断内容按行存储在data.txt中,逐行输出原内容+匹配结果:awk -F'/' '{print $0, $1==$2 ? "匹配" : "不匹配"}' data.txt正则极简实现
利用grep反向引用特性实现判断,无需额外字段分割逻辑:grep -Eq '^([^/]+)/\1$' <<< "2/2"
内容的提问来源于stack exchange,提问作者Nima Bahramzadeh
相关产品推荐
相关产品推荐

