加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 18:09:44 所属栏目:Linux 来源:网络整理
导读:我希望能够通过 – 字符拆分授权代码,以便我可以单独操作每个段.我不想使用外部二进制文件(awk,grep) – 这应该尽可能简约.有什么方法可以实现这个目标? 这是一个示例auth代码: 82a8-bd7d-986d-9dc9-41f5-fc02-2c20-3175-097a-c1eb 解决方法 尝试使用 Inte
我希望能够通过 – 字符拆分授权代码,以便我可以单独操作每个段.我不想使用外部二进制文件(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循环中新创建的元素.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读