Как мне взять такую строку:
sample="+TEST/TEST01/filetest01.txt"
И замените все вхождения test01/TEST01
на test02/TEST02
, оставив текст в том же регистре. Таким образом, желаемый результат будет:
"+TEST/TEST02/filetest02.txt"
Если вы должны были передать строку замены TEST03. Тогда желаемый результат будет
"+TEST/TEST03/filetest03.txt"
Если текст замены был Test04. Желаемый вывод:
"+TEST/TEST04/filetest04.txt"
Я пробовал это:
echo "$sample" | awk 'BEGIN{IGNORECASE=1}{gsub("test01", "test02");print}'
Заменяет значение в нижнем регистре, но не в верхнем.
Я не могу использовать sed, так как у меня есть версия, которая не поддерживает переключатель /I
для игнорирования регистра.
Моя конечная цель - иметь возможность использовать переменные, которые представляют Предмет для изменения. Таким образом, переменные будут выглядеть так:
text2replace=test01
replacetext=test02