初学者程序员。
我需要创建一个脚本,该脚本以相同的格式获取csv文件(或多个csv文件)。该脚本需要逐行读取csv,并使用某些列来提取信息以创建目录结构。然后需要将原始数据文件(其位置在csv中的列中)复制到已创建的新目录结构中。
我在Python中创建了一个脚本,用于在我的用户目录中创建目录结构。但现在我正在使用Linux服务器,所以我想知道我是否应该做任何不同的事情。此外,我的脚本不会将原始数据文件从其位置复制到新的目录结构中。
我是否需要在Bash中对此进行全部编码或将其保留在Python中?
CSV看起来基本上是这样的:
Raw Data File Name-----File Location-----(ParentFolderInfo)-----(SubFolderInfo)-----(ChildFolderInfo)-----...
答案 0 :(得分:0)
这取决于脚本如何处理文件名。如果您使用Windows样式路径进行简单的字符串操作,则可能存在兼容性问题,但使用os.path module构建文件路径应该可以解决任何问题。
答案 1 :(得分:0)
您可以尝试以下方式:
awk -F "-----" '{ print "mv "$2" "$3"/"$4"/"$5"/"$6 }' filename | sh
使用awk,将分隔符设置为" -----"然后构建一个移动命令,然后可以打印然后通过管道执行到sh。