我制作了一个简单的shell脚本来解压缩和编辑csv文件。代码在命令行上运行良好,但无法在bash脚本上运行。我需要修改哪个部分?
#!/bin/bash
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:~/octave/
read -p "File Date: " fileDate #
filePath="tt_D01_"$fileDate".zip"
csvPath=$fileDate"_01_TR.csv"
unzip -o -j $filePath '*TR.csv'
vi $csvPath -c ':%s/HHI/1' -c ':%s/HSI/2' -c ':%s/MHI/3' -c ':%s/MCH/4' -c ':%s/F/1' -c ':%s/O/2' -c ':wq!'
split -l 1000000 $csvPath
octave --silent --eval "processData('$fileDate')"
结果如下
bash test.bash
File Date: 201607
filePath: tt_D01_201607.zip
csvPath: 201607_01_TR.csv
.ZIP.or tt_D01_201607.zipen tt_D01_201607.zip
split: cannot open ‘201607_01_TR.csv\r\r’ for reading: No such file or directory
请指教。感谢。
答案 0 :(得分:0)
\r
几乎总是表明MS Windows参与了编辑器,FileZilla或其他ftp客户端。在Linux机器上,使用dos2unix myScript
。 (如果您从csv获得奇怪的结果,则可能还需要dos2unix "$csvPath"
)。祝好运。
–剥壳者