我想写一个脚本来自动生成具有不同参数的多个输出文件的过程。这需要在以下代码语句中的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'
更多的人,他们没有工作。我在GNU 4.2.2上使用Ubuntu。只要我系统地更改数字,欢迎使用其他语言的其他语言。
非常感谢
谢谢Raj!这样可行。 – user2404894 2014-12-03 05:33:07
不客气.. – 2014-12-03 05:34:07