读取文件第一列的csv,并使用UNIX shell脚本在文件系统上搜索与第一列中的值相同的目录

时间:2013-03-01 07:56:58

标签: linux shell csv

我的CSV文件中包含多个列。

但我想使用 LINUX shell脚本仅针对第一列读取此CSV文件,其标题为,其下包含值

TST-1, TST-2, ..., PROJ-1,PROJ-2,....

选择第一个值 - TST-1,我需要检查目录/ opt / usr / tomcat / home / data / attachments /下是否有任何名为 TST-1 的子目录。如果是,那么我想将此目录移动到备份deive。同样,对于第一列

下的剩余值

我可以在Linux中使用查找 rsync 命令而不使用CSV文件来移动目录,但我获得的数据存储在CSV文件中,我很不熟悉使用Linux shell脚本阅读CSV

任何人都可以帮助我!

谢谢, 纳伦德拉。

1 个答案:

答案 0 :(得分:1)

尝试这样做:

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之类的值,请更好地使用perlrubypython使用 CSV解析器