замените сложной текстовой строкой в нескольких файлах, которая содержит специальные символы

Одна грубая возможность, которую я только что собрал (так что YMMV, но это, по крайней мере, отправная точка):

head /dev/urandom | tr -cd '[:alnum:]' | tail -c $(( $RANDOM % 8 + 8 ))

Символы будут буквенно-цифровыми, так что вы, возможно, захотите поиграть с набором символов tr.

Некоторые примеры сгенерированных строк:

yoXvUVnHG7IIDe
tQGHN7g1rdtbtRO
jsguP1rmJ
CAcoVMK4Ij
KNHVxE8hO
XDkCgx1bN
pijB0Vgx
060qBI9X
LRxp4Ciiab4VCq
tJGYLpof
TVxMPIcjoCKnyA
JYUd4C83TOxr0N
pZaT0lZvNw3oAA
ojtsMD6Ic8E3
UBxtFUY1uy9eT
1
07.12.2014, 14:36
1 ответ

Как насчет регулярного выражения:

sed -r -i 's/(data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQoAAAAkCAAAAABUcSvnAAAHbklEQVRo3u2Ya0xURxTHR9Yt6CJdLSU0hFoxPhIS41ujDex).*(HHAAAAAElFTkSuQmCC)/.\/logo.jpg/g' filename

ищите начало и конец строки и замените с помощью . \ / Logo.jpg в filen name .

Используйте -I , чтобы заменить содержимое в именем файле.

0
28.01.2020, 01:48

Теги

Похожие вопросы