Arrays Bash-如何忽略每行的第一个分隔符?

Arrays Bash-如何忽略每行的第一个分隔符?,arrays,bash,delimiter,Arrays,Bash,Delimiter,我有一个文件BookDB.txt,它以以下方式存储信息: C++ for dummies:Jared:10.67:4:5 Java for dummies:David:10.45:3:6 PHP for dummies:Sarah:10.47:2:7 如何忽略每行的第一个分隔符并将前两个字段添加到数组中?(请参阅下面的示例) 假设在运行时,脚本分别向用户请求变量TITLE和AUTHOR。然后如何将组合字段存储到数组中 例如: 这与您的非常相似,将其链接对您是有益的 可以修改以非常轻松地处理此

我有一个文件
BookDB.txt
,它以以下方式存储信息:

C++ for dummies:Jared:10.67:4:5
Java for dummies:David:10.45:3:6 
PHP for dummies:Sarah:10.47:2:7
如何忽略每行的第一个分隔符并将前两个字段添加到数组中?(请参阅下面的示例)

假设在运行时,脚本分别向用户请求变量
TITLE
AUTHOR
。然后如何将组合字段存储到数组中

例如:


这与您的非常相似,将其链接对您是有益的

可以修改以非常轻松地处理此问题

IFS=$'\n'; arr=( $(awk -F':' '{print $1 ":" $2 }' Input.txt ) )

请注意,解决此问题不需要忽略第一个分隔符。它足以承认它并将两个字段合并而不是一个。< /p> ${ARR(0)}=C++,用于哑谜${ARR(1)}=贾里德,${ARR(2)} = java用于傻瓜。我做错了什么?@Jaredaaronlo,正在检查。@Jaredaaronlo,我换了一个字符。将冒号改为分号。我不知道为什么它不适用于
,但它适用于
。请核实。
IFS=$'\n'; arr=( $(awk -F':' '{print $1 ":" $2 }' Input.txt ) )