Хорошо, поэтому я не смог получить ответ от Cyrus, потому что файл нашел около 50 других строк в моих текстовых файлах, которые он хотел изменить, и я не был совершенно уверен, как исправить оператор awk, чтобы найти просто конкретная c строка, которую я хотел. Тем не менее, я начал работать с оригинальным методом sed, внеся простое изменение.
Моя команда sed стала двумя, где первая создает временную строку %TMPSTR%
, за которой сразу следует замена указанной временной строки, чтобы получить желаемый вывод и избегать появления символов новой строки.
sed -i -r 's/(.*)(VERSION\}\{0.)([0-9]+)(.*)/echo "\\%TMPSTR%{\\\2$((\3+1))\4"/ge' fileName.tex
sed -i -r 's/%TMPSTR%/newcommand/g' fileName.tex
Таким образом, строка в файле начинается с
\newcommand{\VERSION}{0.123}
-> \%TMPSTR%{\VERSION}{0.124}
-> \newcommand{\VERSION}{0.124}
и заканчивается желаемым результатом. Я полагаю, это немного некрасиво, но делает то, что мне нужно!