sed用正则表达式替换大括号内的数字

我正在尝试编写脚本以自动化生成具有不同参数的多个输出文件的过程。这需要在以下代码语句中的CONFIG.c_mm2s_burst_size和CONFIG.c_s2mm_burst_size之后替换花括号中的数字。

  set_property -dict [ list CONFIG.c_include_mm2s {1} CONFIG.c_include_mm2s_dre {0} CONFIG.c_include_s2mm_dre {0} CONFIG.c_include_sg {0} CONFIG.c_m_axi_mm2s_data_width {32} CONFIG.c_m_axis_mm2s_tdata_width {32} CONFIG.c_micro_dma {0} CONFIG.c_mm2s_burst_size {2} CONFIG.c_s2mm_burst_size {2} CONFIG.c_sg_length_width {23}  ] $axi_dma_0

该代码在tcl中。我尝试了变量替换,但对于诸如此类的内容无法正确解释CONFIG.c_mm2s_burst_size {$var}

因此,我认为使用sed和perl替换文本中的数字应该并不困难。但是,我搜索并尝试了一整夜都没有成功。

我试过了:

sed -r 's/burst_size\>\s\{(\d+)\}/256/g'

sed -r 's/burst_size\s\{(\.+)\}/256/g'

sed -r 's/burst_size#\{(\d+)\}/256/g'

sed -r 's/burst_size\s\\{(\d+)\\}/256/g'

还有很多,它们都不起作用。我正在将Ubuntu与GNU 4.2.2一起使用。只要我系统地更改号码,就欢迎使用其他语言的其他班轮。

非常感谢

阿维纳什·拉吉(Avinash Raj)

要替换{}括号中的字符串前面的数字burst_size,您可以使用下面的sed命令。sed不支持\s\d相反的\s,你可以使用POSIX符号[[:space:]]和代替\d,你可以使用[0-9]

sed 's/\(burst_size \+{\)[0-9]\+}/\1256}/g'
sed -r 's/(burst_size +\{)[0-9]+\}/\1256}/g'

例子:

$ echo 'CONFIG.c_mm2s_burst_size {2} CONFIG.c_s2mm_burst_size {2} CONFIG.c_sg_length_width {23}  ] $axi_dma_0' | sed 's/\(burst_size \+{\)[0-9]\+}/\1256}/g'
CONFIG.c_mm2s_burst_size {256} CONFIG.c_s2mm_burst_size {256} CONFIG.c_sg_length_width {23}  ] $axi_dma_0
$ echo 'CONFIG.c_mm2s_burst_size {2} CONFIG.c_s2mm_burst_size {2} CONFIG.c_sg_length_width {23}  ] $axi_dma_0' | sed -r 's/(burst_size +\{)[0-9]+\}/\1256}/g'
CONFIG.c_mm2s_burst_size {256} CONFIG.c_s2mm_burst_size {256} CONFIG.c_sg_length_width {23}  ] $axi_dma_0

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

VB正则表达式。用重复括号替换

来自分类Dev

用sed替换正则表达式组

来自分类Dev

正则表达式匹配括号和大括号

来自分类Dev

正则表达式删除大括号外的\ n

来自分类Dev

JS用正则表达式替换数字

来自分类Dev

大括号内的文本正则表达式

来自分类Dev

正则表达式匹配大括号内的内容,而嵌套大括号不会破坏大括号

来自分类Dev

使用正则表达式用sed解析括号

来自分类Dev

大括号内的表达式的Perl正则表达式无法按预期工作

来自分类Dev

JavaScript正则表达式用单词的首字母替换单词,括号内除外

来自分类Dev

如何使用R的正则表达式将大括号替换为大括号?

来自分类Dev

正则表达式替换花括号内的点?

来自分类Dev

正则表达式将替换所有大括号,除了大小写“ {0}”

来自分类Dev

正则表达式在大括号之间获取文本

来自分类Dev

正则表达式:用大括号周围的[^]代替大括号

来自分类Dev

正则表达式在大括号之间获取价值,包括带括号的大括号

来自分类Dev

正则表达式:替换除大括号内的引号

来自分类Dev

正则表达式匹配方括号内大括号内的字符串

来自分类Dev

正则表达式将大括号内的特定块

来自分类Dev

Python正则表达式替换括号内的单词

来自分类Dev

正则表达式,匹配大括号内的值

来自分类Dev

大括号之间多次匹配的正则表达式

来自分类Dev

vbscript正则表达式匹配大括号

来自分类Dev

JS用正则表达式替换数字

来自分类Dev

使用正则表达式替换括号内的逗号

来自分类Dev

cygwin中的正则表达式中的大括号不是用大括号括起来吗?

来自分类Dev

用sed替换几个正则表达式组

来自分类Dev

linux sed 用正则表达式替换失败

来自分类Dev

正则表达式 - 替换括号内的点

Related 相关文章

  1. 1

    VB正则表达式。用重复括号替换

  2. 2

    用sed替换正则表达式组

  3. 3

    正则表达式匹配括号和大括号

  4. 4

    正则表达式删除大括号外的\ n

  5. 5

    JS用正则表达式替换数字

  6. 6

    大括号内的文本正则表达式

  7. 7

    正则表达式匹配大括号内的内容,而嵌套大括号不会破坏大括号

  8. 8

    使用正则表达式用sed解析括号

  9. 9

    大括号内的表达式的Perl正则表达式无法按预期工作

  10. 10

    JavaScript正则表达式用单词的首字母替换单词,括号内除外

  11. 11

    如何使用R的正则表达式将大括号替换为大括号?

  12. 12

    正则表达式替换花括号内的点?

  13. 13

    正则表达式将替换所有大括号,除了大小写“ {0}”

  14. 14

    正则表达式在大括号之间获取文本

  15. 15

    正则表达式:用大括号周围的[^]代替大括号

  16. 16

    正则表达式在大括号之间获取价值,包括带括号的大括号

  17. 17

    正则表达式:替换除大括号内的引号

  18. 18

    正则表达式匹配方括号内大括号内的字符串

  19. 19

    正则表达式将大括号内的特定块

  20. 20

    Python正则表达式替换括号内的单词

  21. 21

    正则表达式,匹配大括号内的值

  22. 22

    大括号之间多次匹配的正则表达式

  23. 23

    vbscript正则表达式匹配大括号

  24. 24

    JS用正则表达式替换数字

  25. 25

    使用正则表达式替换括号内的逗号

  26. 26

    cygwin中的正则表达式中的大括号不是用大括号括起来吗?

  27. 27

    用sed替换几个正则表达式组

  28. 28

    linux sed 用正则表达式替换失败

  29. 29

    正则表达式 - 替换括号内的点

热门标签

归档