arrays - 从数组中删除条目

标签 arrays shell zsh

我想做某事。像这样:

foo=(a b c)
foo-=b
echo $foo # should output "a c"

如何从数组中删除条目? foo-=b不起作用。

无论条目在哪里,删除都应该有效。

最佳答案

删除元素编号 $i :a=("${(@)a[1,$i-1]}" "${(@)a[$i+1,$#a]}")(更简单的构造 a=($a[1,$i-1] $a[$i+1,-1]) 也会删除空元素。)
添加:
删除任何出现的 b :a=("${(@)a:#b}"):#是删除匹配元素的象形文字; ""(@)是在数组上正确操作,即使它们包含空元素。

关于arrays - 从数组中删除条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3435355/

相关文章:

cygwin - 在我的 zsh 自定义提示(cygwin)中呈现时,一些表情符号图标被切成两半

themes - 纯主题自定义提示颜色?

c++ - C++ 中的数组创建问题

javascript - 将数组连接到 Google Chart

python - 无法从 Python 数组中删除值

c# - 二进制数组将映射减少到 C# 中的矩形

security - 通过SSH查找/替换根目录中的所有文件

c - Badly placed ()的错误在我的shell运行的C代码中发现,如何解决错误?

bash - 引用与执行脚本有关的文件

zsh - 无法将 "X"放入正确提示以指示 Zsh 中的作业数