交换字符串中的字符位置 (bash)
Posted
技术标签:
【中文标题】交换字符串中的字符位置 (bash)【英文标题】:Swapping character locations in a string (bash) 【发布时间】:2015-03-13 15:10:49 【问题描述】:我遇到了一个问题,我需要在 bash 中更改字符串中字符的顺序,以获取 sim 卡的 ICCID。
我从调制解调器获取的号码看起来像这样; 980136010000006187F5。我需要做的就是将字符串中的字符成对取反背诵。在此示例中,98 将是 89,01 将是 10,依此类推,最后加起来是 8910631000000016785F,这是一个正确的 ICCID 编号。
我认为这可能使用 sed 或某种 for 循环来实现,但我一直不知道如何实现这一点。非常感谢您的帮助!
问候, 卡尔
【问题讨论】:
【参考方案1】:sed
可以轻松搞定。
sed 's/\(.\)\(.\)/\2\1/g' <<<980136010000006187F5
sed 命令查找与..
的每个匹配项(即一对字符),独立捕获它们,然后用两个捕获的倒序替换它们。
【讨论】:
以上是关于交换字符串中的字符位置 (bash)的主要内容,如果未能解决你的问题,请参考以下文章