























这是一个创建于 2049 天前的主题,其中的信息可能已经有所发展或是发生改变。
问题:shell 字符串[123,456,789]
想用让字符串变成数组(123 456 789)
楼主想先去掉字符串的"[" "]"
array=$(echo "[123,456,789]"|tr -cd [0-9][,])
再替换掉"," 然后就转换成数组了
array=(${array//,/ })
for i in ${array[@]};do
echo $i
done
然而第一步 tr -cd 并没有去掉字符串的"[" "]"....
使用 array=(${//[/ })也去不掉 尴尬了
大佬们"[" 和"]" 如何去掉?
1 lululau 2020 年 11 月 3 日-cd [0-9][,] 为什么会去掉方括号,什么逻辑? 试试:array=($(echo "[123,456,789]"|tr -d '[]' | tr , ' ')) |
2 wuwenzhx 2020 年 11 月 3 日tr [-cdst][--help][--version][第一字符集][第二字符集] -c, --complement:反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换 -c 没有指定"[]" 理论上"[]" 不应该被删除吗? |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。