У меня повреждено электронное письмо с тем же именем "priloha" для многих вложений.
--=_6307cd41740728f4463731ed=a0cf2ceb-1b64-55a3-9dc3-738b8e19552b_=
Content-Type: image/jpeg;
name=priloha
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
size=50103;
filename=priloha
tABRRRQB/9k=
--=_6307cd41740728f4463731ed=a0cf2ceb-1b64-55a3-9dc3-738b8e19552b_=
Content-Type: image/jpeg;
name=priloha
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
size=59445;
filename=priloha
Мне нужно добавить к слову "priloha" либо номер строки, либо изменить строки со словом " priloha "таким образом:
name=priloha23
filename=priloha34
name=priloha134
filename=priloha145
и еще много подобных строк, сохраняя при этом строки между ними.
Числа могут быть любыми уникальными идентификаторами, например, номерами строк.
У меня есть следующий рабочий скрипт:
sed 's/\r//g' input.eml >output.eml # dos end of lines into unix ones
for i in {10..50} # cca 30 attachments to procede
do
sed -i "0,/name=priloha$/s//name=priloha$i/" output.eml
sed -i "0,/filename=priloha$/s//filename=priloha$i/" output.eml
done
Вы, вероятно, признаете, что это немного неуклюже. Можете ли вы дать мне хит, как сделать это за один раз. Примерно так:
sed "/ name = priloha / s / name = priloha / name = priloha [текущая строка #] /" input.eml> output.eml # не работает
Ожидание : найдите строки с "name = priloha", измените его на "name = priloha [текущая строка #]"
Я с нетерпением жду ваших умных идей и заранее благодарю!