作者:mobiledu2502928311 | 来源:互联网 | 2023-08-15 12:25
配置表中有一个黑名单的标签列表 是这样保存的 如 1-3,7-9
想把它展开成 1,2,3,7,8,9
如下所示
1 2
| for i in {1..3,7..9}; do for j in {$i}; do echo -n "$j,"; done; done
1,2,3,7,8,9 |
详细步骤如下
1 2 3 4 5 6 7 8 9
| # 替换-为..
echo "1-3,7-9" | sed 's/-/../g'
1..3,7..9
# 确定能够正确识别@
echo "1-3,7-9" | sed 's/-/../g' | xargs -I@ echo @
1..3,7..9
# 将@变量放到for中 报错
echo "1-3,7-9" | sed 's/-/../g' | xargs -I@ for i in {@}; do for j in {$i}; do echo -n "$j,"; done; done
zsh: parse error near `do' |
请问错在哪呢? 正确的写法是?