我在文本中有一个模板 LaTeX 文件,其中包含一个计数器(称为“Contador”),如
这样的行\addplot[] table[]{figure-contador.csv}
该计数器允许我包含来自CSV文件中编码的大量数字的数据。该文件名为 test.tex
我想从模板中生成100个新文件,如 test0.tex,test1.tex,test2.tex, 等。我以为我可以用sed轻松完成,我试过了剧本
#!/bin/bash
for i in {0..99} do
sed 's/contador/$i/g' test.tex > test$i.tex
done
但这不起作用。我做错了什么?
答案 0 :(得分:0)
尝试:
#!/bin/bash
for i in {0..99}; do
sed "s/contador/$i/g" test.tex > "test$i.tex"
done
有两个问题:
for i in {0..99}
和do
需要用换行符或分号分隔。
在单引号中,$i
等shell变量未展开。要允许它们展开,请使用双引号。
for i in {0..99}; do
awk -v i="$i" '{gsub(/contador/, i)} 1' test.tex >"test$i.tex"
done