В моем скрипте bash у меня есть массив имен файлов, например
files=( "site_hello.xml" "site_test.xml" "site_live.xml" )
Мне нужно извлечь символы между подчеркиванием и расширением .xml, чтобы я мог просмотреть их для использования в функции.
Если бы это был Python, я мог бы использовать что-то вроде
re.match("site_(.*)\.xml")
, а затем извлеките первую подходящую группу.
К сожалению, этот проект должен быть в bash, поэтому - Как я могу делать такие вещи в bash-скрипте? Я не очень хорошо разбираюсь в grep, sed или awk.