在bash脚本的开头,我使用了以下一行:
IFS=':#:'但是它不是用:#:,只用冒号分隔字段。有什么问题吗?
这是我在文本文件中的数据:
f:#:0
c:#:Test C
s:#:test S
ctype:#:0
a:#:test A
t:#:10:02:03
r:#:test r
f:#:0
c:#:Test C1
s:#:test S1
ctype:#:1
a:#:test A1
t:#:00:02:22
r:#:test r
f:#:20
c:#:Test C
s:#:test S
ctype:#:2
a:#:test A1
t:#:00:02:03
r:#:test r..。我阅读它时使用了以下代码:
IFS=':#:'
while read -r key value; do
.....
done < "$FileName" 发布于 2016-12-28 05:09:43
IFS不使用多个字符(或范围)作为分隔符;IFS中的每个字符都被视为字段分隔符。
来自man bash:
内部字段分隔器,用于扩展后的分词,并使用read内置命令将行拆分成单词。默认值是
<space><tab><newline>。
https://unix.stackexchange.com/questions/333190
复制相似问题