Shell Scripting - 如何解压缩文件并通过shell脚本进行编辑?

时间:2016-12-15 03:46:01

标签: linux bash shell vi unzip

我制作了一个简单的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

请指教。感谢。

1 个答案:

答案 0 :(得分:0)

\r几乎总是表明MS Windows参与了编辑器,FileZilla或其他ftp客户端。在Linux机器上,使用dos2unix myScript。 (如果您从csv获得奇怪的结果,则可能还需要dos2unix "$csvPath")。祝好运。                     –剥壳者