微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/bash/383621.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐