首页 > 解决方案 > 如何将数据表转换为列表整体

问题描述

假设下面是一个表数据存储在一个名为“数据”的变量中

1 apple 50 Mary
2 banana 40 Lily
3 orange 34 Jack

# 

for i in ${data}
do
  echo $i

done


# Expected Output
1 apple 50 Mary
2 banana 40 Lily
3 orange 34 Jack

如何将上面的数据表转换为三个整体,以便我可以使用 for 循环对其进行迭代并以完全相同的格式打印该单个条目。

任何建议。

标签: shell

解决方案


感谢@Darkman 提供此“https://stackoverflow.com/questions/11393817/read-lines-from-a-file-into-a-bash-array”链接,它有助于我的事业。

# This below line help
# IFS=$'\r\n' GLOBIGNORE='*'

data="1 apple 50 Mary
2 banana 40 Lily
3 orange 34 Jack"

IFS=$'\r\n' GLOBIGNORE='*'
for i in ${data}
do
  echo $i
  echo "test" 
done

# Resulted Output
1 apple 50 Mary
test
2 banana 40 Lily
test
3 orange 34 Jack
test


推荐阅读