我有一个模板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
但这不起作用。我究竟做错了什么?
尝试:
#!/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