linux – 如何将字符串拆分为BASH中的字符?

前端之家收集整理的这篇文章主要介绍了linux – 如何将字符串拆分为BASH中的字符?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望能够通过 – 字符拆分授权代码,以便我可以单独操作每个段.我不想使用外部二进制文件(awk,grep) – 这应该尽可能简约.有什么方法可以实现这个目标?

这是一个示例auth代码

82a8-bd7d-986d-9dc9-41f5-fc02-2c20-3175-097a-c1eb

解决方法

尝试使用 Internal Field Separator(IFS):
AUTH_CODE='82a8-bd7d-986d-9dc9-41f5-fc02-2c20-3175-097a-c1eb'

OIFS=$IFS                   # store old IFS in buffer
IFS='-'                     # set IFS to '-'

for i in ${AUTH_CODE[@]}    # traverse through elements
do
  echo $i
done

IFS=$OIFS                   # reset IFS to default (whitespace)

输出

82a8
bd7d
986d
9dc9
41f5
fc02
2c20
3175
097a
c1eb

通过设置内部字段分隔符,可以在 – 字符上拆分AUTH_CODE,从而允许遍历foreach循环中新创建的元素.

猜你在找的Linux相关文章