在bash中用字符串字符串连接数组

时间:2019-03-28 09:30:35

标签: arrays regex bash shell

我有以下代码,每次匹配字符串“ form-data”时都会拆分一个字符串,并将结果存储在数组变量中。

字符串包含:

form-data; name="user[opt_outs][activation]"\r\n\r\nfalse\r\n------WebKitFormBoundary1AXfUoqVDf3voN5Q\r\nContent-Disposition: form-data; name="user[opt_outs][sms]"\r\n\r\nfalse\r\n------WebKitFormBoundary1AXfUoqVDf3voN5Q\r\nContent-Disposition: form-data; name="user[opt_outs][email]"\r\n\r\nfalse\r\n------WebKitFormBoundary1AXfUoqVDf3voN5Q\r\nContent-Disposition: form-data; name="user[opt_outs][push]"\r\n\r\nfalse\r\n
req=`cat ./my-string.txt`

delimiter=form-data
s=$req$delimiter

array=();
while [[ $s ]]; do
    array+=( "${s%%"$delimiter"*}" );
    s=${s#*"$delimiter"};
done;

我需要使用用于分隔它的相同字符串,即“ form-data”,将其重新连接在一起。

我尝试过:

sed -e 's/\(form-data\)/\1./g' -e 's/\form-data$//' <<< "${array[*]}"
function join_by { local d=$1; shift; echo "$1"; shift; printf "%s" "${@/#/$d}"; }

join_by 'from-data' ${array[*]}

还有其他...

0 个答案:

没有答案