假设我有一个 bash 数组
X=("a" "b c" "-d" "k j", "-f")
我想通过是否以 "-"
开头来过滤并得到
("a""b c""k j")
和 ("-d""-f")
分别。
我怎样才能做到这一点?
最佳答案
我想你必须遍历数组:
$ X=("a" "b c" "-d" "k j", "-f")
$ for elem in "${X[@]}"; do [[ $elem == -* ]] && with+=("$elem") || without+=("$elem"); done
$ printf "%s\n" "${with[@]}"
-d
-f
$ printf "%s\n" "${without[@]}"
a
b c
k j,
关于bash - 如何过滤 bash 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36586045/