bash显示循环变量两次
为什么只显示一次bash显示循环变量两次,bash,bsd,Bash,Bsd,为什么只显示一次data.csv中的条目 for i in `cat ~/Downloads/data.csv` do echo $i $i done 我尝试了$I$I和+=操作符,但它们似乎都没有达到我预期的效果。目标是从data.csv(URL列表)创建链接。因此,理想情况下,输出为 <a href='$i'>$i</a> 我正在使用OSX。不要使用bash进行文件内容处理,awk更适合于此 $ awk '{print "<a href=\"" $0
data.csv
中的条目
for i in `cat ~/Downloads/data.csv`
do
echo $i $i
done
我尝试了$I$I
和+=
操作符,但它们似乎都没有达到我预期的效果。目标是从data.csv(URL列表)创建链接。因此,理想情况下,输出为
<a href='$i'>$i</a>
我正在使用OSX。不要使用
bash
进行文件内容处理,awk
更适合于此
$ awk '{print "<a href=\"" $0 "\">" $0 "</a>"}' file
$awk'{print”“}文件
有关迭代文件内容的正确方法,请参阅。您的CSV文件可能有DOS行结尾,因此变量值中的回车符会导致第二行覆盖第一行。我相信您已经知道了这一点,但这可能也是对其他人的一个很好的提示:注意“$I”的输出。
。必须转义单引号或使用双引号才能正确解析变量。@切普纳,请将您的评论变成答案好吗?那确实是我麻烦的根源。不过,感谢其他海报改进了我的懒循环使用。