【发布时间】:2016-10-20 16:05:22
【问题描述】:
我正在尝试使用带有 ',' 的分隔符循环文件,并在“列表”中打印出这些值,但我不确定如何获取分隔符的所有值。
我有一个包含这样电子邮件的文件(全部在一行中):
test1@mail.com,test2@mail.com,test3@mail.com
我的脚本是这样的:
EmailsFile="/dev/fs/C/Users/myuser/Desktop/EMAILSTOREAD.txt"
for email in $(cat ${EmailsFile} | cut -d "," -f 1-100)
do
echo "${email}\n"
done
我做了 1-100,因为我不确定该文件可以包含多少个值。
我得到的输出是:
test1@mail.com,test2@mail.com,test3@mail.com
预期输出:
test1@mail.com
test2@mail.com
test3@mail.com
有什么想法吗?
【问题讨论】:
-
...除此之外——这是哪个 ksh 版本? ksh93? ksh88?由大卫科恩以外的人写的一些随机克隆?
-
不确定 ksh 是什么,如何检查?
-
...明确地说,真正的 David Korn ksh 曾经是需要花钱的商业软件(这就是创建 pdksh、mksh 等的原因),但自 2005 年以来,它已根据EPL,所以没有理由使用克隆。
-
考虑使用微软的 Ubuntu 运行时——有一个真正的 ksh93 包。
标签: shell loops for-loop delimiter cut