Просто используя сценарии оболочки, как я могу вставить текст в середину имени файла. Файл имеет предсказуемый шаблон, скажем, 3 буквы и 3 цифры, и я хочу вставить текст в середине этих 2 шаблонов. Скажем, ABC123 это имя файла. В результате имя файла должно быть ABC.blah.123
2 ответа
1
Вы можете использовать sed
для изменения строки имени файла:
echo $filename | sed -r 's/^([a-zA-Z]{3})([0-9]{3})$/\1.blah.\2/'
Это означает: возьмите первые 3 символа строки, если они являются буквами, добавьте строку `.blah. ' и добавьте последние 3 символа строки, если они являются числами.
Например, если вы хотите переименовать файл, вы можете сделать:
mv "$filename" "`echo $filename | sed -r 's/(^[a-zA-Z]{3})([0-9]{3})$/\1.blah.\2/'`"
1
Предполагая, что у вас достаточно недавний bash
, вы можете использовать подстроки параметров:
file=ABC123
text=blah
new_file="${file:0:3}.$text.${file:3}"