Я пишу скрипт для замены 2 слов из текстового файла. СценарийОшибка при замене слова с помощью perl
count=1
for f in *.pdf
do
filename="$(basename $f)"
filename="${filename%.*}"
filename="${filename//_/ }"
echo $filename
echo $f
perl -pe 's/intime_mean_pu.pdf/'$f'/' fig.tex > fig_$count.tex
perl -pi 's/TitleFrame/'$filename'/' fig_$count.tex
sed -i '/Pointer-rk/r fig_'$count'.tex' $1.tex
count=$((count+1))
done
Но вместо слов с помощью второй команды Perl дает ошибку:
Can't open perl script "s/TitleFrame/Masses1/": No such file or directory
Просьба предложить то, что я делаю неправильно.
добавьте -x и -v к вашему вызову bash, и bash сообщит вам, что он работает в каждой строке скрипта bash. Вы увидите, что любая из переменных замещений идет не так. '#!/usr/bin/bash -xv' или bash -xv myscript –