Bash:用逗号分隔特殊字符

我有一个逗号分隔的列表,如此…
00:00:00:00:00:00,Bob's Laptop,11111111111111111
 00:00:00:00:00:00,Mom & Dad's Computer,22222222222222222
 00:00:00:00:00:00,Kitchen,33333333333333333

我正在尝试遍历这些行并使用每行中的3列填充变量.当数据没有空格,&符号或撇号时,我的脚本可以正常工作.当它确实有那些然后它不能正常工作.这是我的脚本:

for line in $(cat list) 
 do 
    arr=(`echo $line | tr "," "\n"`)
    echo "Field1: ${arr[0]}"    
    echo "Field2: ${arr[1]}"
    echo "Field3: ${arr[2]}"
 done

如果你们其中一个bash大师可以指出我如何让​​这个脚本与我的列表一起工作,我将非常感激!

EV

while IFS=,read field1 field2 field3
do
  echo $field1
  echo $field2
  echo $field3
done < list

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...