问题:
昨晚用wget下载文件的时候,不知道为什么,网址最后总是带上%OD,导致no found。
事件过程:
1、过程截图木有了,当时用的wget命令如下(-c表示断点传续,-t 5 表示如果下载断了重试的次数为5次,这是网上看的,不知道对不对,因为我的文件小,没断过哈哈):
2、然后运行上图的命令是: nohup sh wget.sh &
3、结果就在nohup.out,在这个文件里看到,网址最后面,就是$i后面,csv前面总是多个%OD(我的理解是原本会print在屏幕上的过程使用nohup后就不会了,而是会print到名为nohup.out的文件里,也可以通过>符号自己选择文件)
解决
网上搜了,有人说是因为换行符的问题(脚本运行后wget网址末尾多了个%0D的坑 心灵博客 (dngz.net))
我就粗暴的用sed把所有的\r\n (windows下可能出现这样的换行符)替换成\n
然而问题没有解决,可能还存在我不知道的格式问题,我的文件(即上图中的list.txt)原本是从windows上次到linux的csv文件。
解决方法是:
在windows下,复制csv文件里的内容,粘贴到excel里,把excel上传到linux上,然后用这个文件代替list.txt,问题就解决啦。
windows下的csv文件到集群后我遇到了各种问题,建议还是用excel会更方便。
也有看到说可以用 dos2unix 命令转换文件格式为linux下的格式(好早之前用过,现在忘记了,好像是 dos2unix filename),但是我还没试过,有机会可以尝试
网友评论