我的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
任何人都可以帮助我!
谢谢, 纳伦德拉。
答案 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
之类的值,请更好地使用perl
,ruby
或python
使用 CSV解析器