交换字符串中的字符位置 (bash)



我遇到了一个问题,我需要更改 bash 字符串中字符的顺序,以便获得 sim 卡的 ICCID。

例如,我从调制解调器获取的数字如下所示:980136010000006187F5。我需要做的是将字符串中的字符成对地背诵。在此示例中,98 将是 89,01 将是 10,依此类推,最后加起来为 8910631000000016785F,这是一个正确的 ICCID 编号。

我认为使用 sed 或各种 for 循环可能是可能的,但我陷入了如何实现这一目标的困境。帮助将不胜感激!

问候卡尔

sed可以轻松做到这一点。

sed 's/(.)(.)/21/g' <<<980136010000006187F5

sed 命令查找要..的每个匹配项(即一对字符),独立捕获它们,然后按相反顺序将它们替换为两个捕获。

最新更新