我有CSV文件,其中包含多个列。
但是我想使用LINUX shell脚本来读取这个CSV文件,它只用于第一列,头名为Key,其下有值。
TST-1, TST-2, ..., PROJ-1,PROJ-2,....选择第一个值- TST-1,我需要检查在/opt/usr/tomcat/home/data//目录下是否有名为TST-1的子目录。如果是,那么我想把这个目录移到备份目录中。类似地,对于第一列键下的其余值,
我可以在Linux中使用、find、和rsync命令来移动目录,而无需使用CSV文件,但是我得到的数据存储在CSV文件中,我对使用Linux shell脚本读取CSV非常陌生。
有人能帮我吗?
谢谢纳伦德拉。
发布于 2013-03-01 08:02:43
尝试这样做:
value=$(awk -F, 'NR>2{print $1}' file.csv)
if [ -d "/opt/usr/tomcat/home/data/attachments/$value" ]; then
mv "/opt/usr/tomcat/home/data/attachments/$value" backup_drive
fi注意:如果您的CSV很简单,它是可以的,但是如果它有一些像"aa,aa", xxx, zzz这样的值,最好在CSV解析器中使用perl、ruby或python
https://stackoverflow.com/questions/15153042
复制相似问题