bash IFS 将字符串拆分为数组
bash IFS split string into array
我有以下行 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
我做错了什么?
解决方案一:
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
我有以下行 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
我做错了什么?
解决方案一:
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