找到一个单词并增加单词中的数字&保存到新文件中

时间:2016-03-21 22:36:20

标签: awk sed numbers increment

我正在寻找一个perl / awk / sed命令来自动递增文件中的数字行,P1.tcl:

run_build_model sparc_ifu_dec
run_drc
set_faults -model path_delay -atpg_effectiveness -fault_coverage
add_delay_paths P1
set_atpg -abort_limit 1000
run_atpg -ndetects 1000

我想将P1从P2更改为P500并保存到新文件中,例如P2.tcl,P3.tcl .... P500.tcl

我在网上搜索了这个,但找到了替换/生成一个文件的唯一方法。例如P2.tcl

最佳,

Jaeyoung

2 个答案:

答案 0 :(得分:1)

未测试:

for i in {2..500}; do
    cp P1.tcl P$i.tcl
    sed -i s/P1/P$i/ P$i.tcl
done

答案 1 :(得分:1)

对于如此长的循环,

awk不太清楚但速度更快:

awk '{for (n=2; n<=500; n++) {line = gensub(/P1/, "P" n, "g", $0); print line > "P" n ".tcl"}}' P1.tcl

使用gensubP1替换为"P" n