bash:将字符串读入保留空格的数组bash
我有串“你好” 我想把这个字符串放入一个数组中,如下所示。但我想保留空间。有什么办法吗bash:将字符串读入保留空格的数组bash,bash,shell,unix,scripting,solaris,Bash,Shell,Unix,Scripting,Solaris,我有串“你好” 我想把这个字符串放入一个数组中,如下所示。但我想保留空间。有什么办法吗 a[0] a[1] a[2] 3 4 5 6 .... should have h i <space> h o w <space> .... and so on. a[0]a[1]a[2]3 4 5 6。。。。应该有 我好。。。。等等 这真的很难看,也许有人能想出一些不需要评估的东西 这真的很难看,也许有人可以想出一些没有eva
a[0] a[1] a[2] 3 4 5 6 .... should have
h i <space> h o w <space> .... and so on.
a[0]a[1]a[2]3 4 5 6。。。。应该有
我好。。。。等等
这真的很难看,也许有人能想出一些不需要评估的东西
这真的很难看,也许有人可以想出一些没有
eval
的东西,一种方法,当然会有更好的解决方案,但这似乎对我有用:
unset arr; IFS=; for c in $(sed 's/./&\n/g' <<<"hi how are you"); do arr+=("$c"); done; echo "${arr[@]}"
一种方法是,肯定会有更好的解决方案,但这似乎对我有效:
unset arr; IFS=; for c in $(sed 's/./&\n/g' <<<"hi how are you"); do arr+=("$c"); done; echo "${arr[@]}"
可能不太快,但可以避免使用
sed
:
z=()
while read -n 1 x; do
z+=( "$x" )
done <<<"hi how are you"
z=()
读取时-n1x;做
z+=(“$x”)
完成可能不快,但避免了使用sed
:
z=()
while read -n 1 x; do
z+=( "$x" )
done <<<"hi how are you"
z=()
读取时-n1x;做
z+=(“$x”)
做了可能不是重复的,大多数答案不能处理空格…确切地说。我尽可能多地搜索,但找不到如何处理空格。;可能不是重复的,大多数答案不能处理空格…完全正确。我尽可能多地搜索,但找不到如何处理空格。;您介意解释sed部分吗?请单独运行该部分:echo“您好”| sed“s/\(.\)/'\1'/g“
。将每个字符替换为引用的一个愚蠢的问题!应该这么做的!谢谢你,卡罗利!真管用!干杯您介意解释sed部分吗?请单独运行该部分:echo“您好”| sed“s/\(.\)/'\1'/g“
。将每个字符替换为引用的一个愚蠢的问题!应该这么做的!谢谢你,卡罗利!真管用!干杯谢谢你,比雷!我想我被宠坏了!谢谢你的回答,先生!谢谢你,你的IFS='
技巧帮助我解决了我自己的问题(在文件名数组中保留空格)!谢谢你,比雷!我想我被宠坏了!谢谢你的回答,先生!谢谢你,你的IFS='
技巧帮助我解决了我自己的问题(在文件名数组中保留空格)!