2

我有以下行filename:231:blahblah,我想将其拆分为一个数组,:用作分隔符

这是我拥有的代码

echo "Text read from file: $line"
IFS=':' read -a FILENAME <<< $line
echo "filename: ${FILENAME[0]}"

实际输出为

Text read from file: filename:231:blahblah 
filename: filename 231 blahblah

我想要的输出是

Text read from file: filename:231:blahblah 
filename: filename

我究竟做错了什么?

4

1 回答 1

1

解决方案1:

line="filename:231:blahblah"
IFS=':'
FILENAME=($line)
echo "filename: ${FILENAME[0]}"

解决方案 2(来自您的尝试):

line="filename:231:blahblah"
IFS=':' read -a FILENAME <<< "$line"
echo "filename: ${FILENAME[0]}"

运行结果:

filename: filename
于 2015-06-12T16:04:13.017 回答