次の文字列があります。
8080 "ac ac df asd" 9019 "f v adfs" 1 "123 da 123x"
Bashを使ってこれをこのような配列に変換する賢い方法はありますか?
8080 "ac ac df asd"
9019 "f v adfs"
1 "123 da 123x"
ベストアンサー1
# define function
foo() { while [ -n "$2" ]; do array+=( "\"$1\" \"$2\"" ); shift 2; done; }
# call function with string
foo 8080 "ac ac df asd" 9019 "f v adfs" 1 "123 da 123x"
# print array
printf "%s\n" "${array[@]}"
出力:
"8080" "ac ac df asd" "9019" "fv adfs" 「1」「123 123x」