【问题标题】:How to change number to letters using sed command?如何使用 sed 命令将数字更改为字母?
【发布时间】:2015-05-27 03:58:04
【问题描述】:

我如何使用 sed 命令 linux 将数字更改为字母

例如: 如果数字的经度是 4 ,5 ,6 o 7 则将此数字更改为 abcd。(仅 sed)

123 1234 123445 125475585

结果: 第123章

谢谢

【问题讨论】:

  • 4->a, 5->b, ... ?嗯?
  • 您可能需要澄清您的问题,并添加一些您尝试过的示例以获得任何帮助。您可以随时更新您的问题。欢迎来到栈溢出,推荐阅读:stackoverflow.com/help/how-to-ask
  • 经度从何而来
  • 它的长度表示如果数字超过4位o 4然后将其更改为字母

标签: linux sed


【解决方案1】:

使用 GNU sed:

echo '123 1234 123445 125475585' | sed -E 's/\b[0-9]{4,9}\b/abcd/g'

输出:

第123章

【讨论】:

  • 元字符 \b 是一个锚点,就像插入符号和美元符号一样。它在称为“单词边界”的位置匹配。此匹配项的长度为零。 Source
  • 和 -E 因为我知道 -e
  • -E-r--regexp-extended 启用 Extended Regular Expressions
【解决方案2】:

最简单的方法是使用地图操作。

$ sed 'y/4567/abcd/' <<< '65423476512935'
cba23adcb1293b

【讨论】:

    猜你喜欢
    • 2020-05-18
    • 2022-10-24
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    相关资源
    最近更新 更多