У меня есть файл 'a.txt', которые имеют содержание:
K8A2-19C204-BA109691
ML_18.10.4-109691
Как я могу искать строку, говорят "ML _" в файле и если это соответствует, изменяют последние 3 цифры той строки с некоторыми случайными числами с помощью 'sed' команду в сценарии удара.
Я могу изменить последние 3 числа на некоторые постоянные числа с командой:
sed -i '/ML_/s/[0-9][0-9][0-9]$/012/' file_name
Но не уверенный, как измениться со случайными числами
Если у Вас нет никаких конкретных требований для случайности, то можно использовать оболочку удара, встроил RANDOM
как упомянуто в комментариях, например.
$ sed '/^ML_/ s/[0-9]\{3\}$/'$(printf '%03d' $((RANDOM%1000)))'/' a.txt
K8A2-19C204-BA109691
ML_18.10.4-109133
Если бы Вы требуете "лучших" случайных чисел, то я предложил бы отказаться sed
в пользу perl
и поиск подходящего модуля случайного числа.