【发布时间】:2016-10-31 17:41:07
【问题描述】:
pattern="::a::b::"
oldIFS=$IFS
IFS="::"
read -r -a extractees <<< $pattern
IFS=$oldIFS
这会导致
{"a","b"}
但是,我需要维护索引,所以我想要
{"","a","b",""}
(为了比较,如果我想要{"a","b"},我会写"a::b"。
为什么?因为这些元素稍后会再次拆分(在不同的分隔符上),空的 "" 值应该导致一个空列表然后。
我如何做到这一点?
【问题讨论】:
-
@Cyrus
{"","a","b",""}- 正如我在帖子中所写的那样。如果::是分隔符并且它会更改索引,{"","a","","b",""}将毫无意义。
标签: bash text split pattern-matching