我有一个包含以下内容的文件:
列表:
blue,none
red,none
orange,plot
baseball , none
university,none
school,none
desk,plot
monitor,none
earphone,none
我需要读取此文件,删除空格并将每列存储在不同的数组中。
脚本:
output_names=()
output_plots=()
while read line
do
item=$(echo -e "${line}" | tr -d '[[:space:]]')
item=$(echo $item | tr "," "\n")
output_names+=(${item[0]});
output_plots+=(${item[1]});
done <list
echo "** output_names:";
for item in ${output_names[*]}
do
echo $item
done
echo "** output_plots:";
for item in ${output_plots[*]}
do
echo $item
done
但是,它没有按我预期的那样工作。怎么了?以及如何解决此代码?
笔记
如果有人有解决方案将数据存储在具有不同键output['names'][*]
和的单个数组中output['plots'][*]
,那将是不胜感激的,因为我不知道该怎么做。
输出:
** output_names:
blue
none
red
none
orange
plot
baseball
none
university
none
school
none
desk
plot
monitor
none
earphone
none
** output_plots:
这将返回一个带空格的字符串:
item=$(echo $item | tr "," "\n")
像这样将其更改为具有数组:
item=($(echo $item | tr "," "\n"))
输出:
** output_names:
blue
red
orange
baseball
university
school
desk
monitor
earphone
** output_plots:
none
none
plot
none
none
none
plot
none
none
可能会有更好的方法来完成艰巨的任务
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句