Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bash显示循环变量两次_Bash_Bsd - Fatal编程技术网

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”的输出。
。必须转义单引号或使用双引号才能正确解析变量。@切普纳,请将您的评论变成答案好吗?那确实是我麻烦的根源。不过,感谢其他海报改进了我的懒
循环使用。