【问题标题】:Swapping character locations in a string (bash)交换字符串中的字符位置 (bash)
【发布时间】:2015-03-13 15:10:49
【问题描述】:

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

我从调制解调器获取的号码看起来像这样; 980136010000006187F5。我需要做的就是将字符串中的字符成对取反背诵。在此示例中,98 将是 89,01 将是 10,依此类推,最后加起来是 8910631000000016785F,这是一个正确的 ICCID 编号。

我认为这可能使用 sed 或某种 for 循环来实现,但我一直不知道如何实现这一点。非常感谢您的帮助!

问候, 卡尔

【问题讨论】:

    标签: string bash location character iccid


    【解决方案1】:

    sed 可以轻松搞定。

    sed 's/\(.\)\(.\)/\2\1/g' <<<980136010000006187F5
    

    sed 命令查找与.. 的每个匹配项(即一对字符),独立捕获它们,然后用两个捕获的倒序替换它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-05
      • 2021-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多