0

我有一个包含多列的 CSV 文件。

但我想使用LINUX shell 脚本读取这个 CSV 文件,仅用于标题为Key的第一列,其下有值

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

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

我可以通过在 Linux 中使用findrsync命令来移动目录而不使用 CSV 文件,但是我得到的数据存储在 CSV 文件中,我对使用 Linux shell 脚本读取 CSV 非常不熟悉

任何人都可以帮我解决这个问题!

谢谢,纳伦德拉。

4

1 回答 1

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, 更好地使用perlruby或者python使用CSV 解析器

于 2013-03-01T08:02:43.990 回答