求适配可变长度产品类型的X8提取通用命令
匹配并提取产品类型中的"X8"
下面几个通用命令,不管产品类型长度如何,都能检测是否包含"X8"并提取输出,完美适配你的需求:
1. 使用 grep 命令
直接匹配并输出"X8",如果只是要判断是否存在,可加-q参数静默检测,通过返回值决定后续逻辑:
# 提取输出X8 echo "Ciara_1x2X8_GENC_64G_Server" | grep -o "X8" # 脚本中判断并执行逻辑 product_type="Ciara_1x2X8_GENC_64G_Server" if echo "$product_type" | grep -q "X8"; then echo "X8" # 这里添加你要运行的脚本代码 fi
2. 使用 awk 命令
利用正则匹配提取目标内容,灵活性更强:
# 简单匹配输出 echo "Ciara_1x2X8_GENC_64G_Server" | awk '/X8/{print "X8"}' # 通用提取匹配片段(即使后续要提取其他模式也适用) echo "Ciara_1x2X8_GENC_64G_Server" | awk 'match($0, /X8/) {print substr($0, RSTART, RLENGTH)}'
3. 纯 Bash 内置匹配
不需要调用外部命令,直接用Bash字符串检测,效率更高:
product_type="Ciara_1x2X8_GENC_64G_Server" if [[ "$product_type" == *X8* ]]; then echo "X8" # 后续脚本逻辑写在这里 fi
这些方法都不依赖产品类型的固定长度,只要字符串里包含"X8"就能精准匹配并输出。
内容的提问来源于stack exchange,提问作者Guru Prasad
相关产品推荐
相关产品推荐

