Как добавить строку со строками в конец переменной?

Если это ваш суффикс, ответ должен быть таким простым:

suffix="${str##*[!_A-Za-z0-9]}"

Чтобы получить кусочки с помощью этого метода, вы можете получить в лучшем случае голову и хвост. Но вы можете получить их:

head="${str%"${tail:="${str##*[!_A-Za-z0-9]"}"}"}"
0
14.03.2019, 12:31
2 ответа
sed -e '/^USA_FORMAT=/s,"$, /usr/.../jarsigner.1 /usr/.../jars 6 3 END",'

т. е. в строке, начинающейся с USA_FORMAT=, замените окончательную "на/usr/...END"(с последней кавычкой в ​​конце новой строки ). Если это сценарий оболочки, вы можете игнорировать существующую кавычку и вместо этого добавить новую часть с новым набором кавычек. Вы получите var="foo""bar", но это совершенно верно.

Или аналогично в Perl:

perl -pe 's,"$, /usr/.../jarsigner.1 /usr/.../jars 6 3 END", if /^USA_FORMAT=/'

или

export repl='/usr/... END'
perl -pe 's/"$/ $ENV{repl}"/ if /^USA_FORMAT=/'

поэтому вам не нужно выбирать разделитель для sна основе того, что строка замены (не содержит )(s ).

1
28.01.2020, 02:40

позволить данным в 'd', на терминале оболочки bash делать;

append='/usr/jdk64/jdk1.8.0_112/man/man1/jarsigner.1 /usr/hdp/2.6.4.0-91/spark2/examples/jars 6 3 END'
sed -E "/USA_FORMAT=.+/ s~~&$append~" d
0
28.01.2020, 02:40

Теги

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