在CSV中循环时输出混乱

  • 本文关键字:输出 混乱 循环 CSV bash
  • 更新时间 :
  • 英文 :


我有一些文件想重命名-试图在bash脚本中这样做,作为bash中的学习练习,以下是我目前拥有的

#!/bin/bash
FOLDER=/Users/annaleigh/Documents/data/geo_ibm/
while IFS=, read -r col1 col2
do
oldfile="$FOLDER""$col1"".SJ.out.tab"
newname="$FOLDER""$col2""$col1"".SJ.out.tab"
echo $oldfile
echo $newname
done < /Users/annaleigh/Documents/GitHub/muscle/rename.csv

然而,结果是。。。奇怪,我不明白为什么

/Users/annaleigh/Documents/data/geo_ibm/16_9_5_18.SJ.out.tab
16_9_5_18.SJ.out.tabuments/data/geo_ibm/PM_3

`该线路的行为与预期的oldfile="$FOLDER""$col1"".SJ.out.tab"一致

但是这一行:newname="$FOLDER""$col2""$col1"".SJ.out.tab"是在前面附加$col1和扩展名,但有某种扩展吗?我不知道这里发生了什么。

当文件包含DOS行结尾时,就会发生这种情况。您可以通过运行以下命令来修复它。

dos2unix /Users/annaleigh/Documents/GitHub/muscle/rename.csv

参见BashFAQ#052

相关内容

  • 没有找到相关文章