Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 读取文件第一列的csv,并使用UNIX shell脚本在文件系统上搜索与第一列中的值相同的目录_Linux_Shell_Csv - Fatal编程技术网

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

Linux 读取文件第一列的csv,并使用UNIX shell脚本在文件系统上搜索与第一列中的值相同的目录,linux,shell,csv,Linux,Shell,Csv,我的CSV文件中有多个列 但是我只想使用LINUX shell脚本读取头名为Key的第一列下有值的CSV文件 TST-1, TST-2, ..., PROJ-1,PROJ-2,.... 选择第一个值-TST-1,我需要检查/opt/usr/tomcat/home/data/attachments/目录下是否有名为TST-1的子目录。如果是,则我想将此目录移动到备份设备。同样,对于第一列键下的剩余值 我可以在Linux中使用find和rsync命令移动目录而不使用CSV文件,但我获得的数据存储在

我的CSV文件中有多个列

但是我只想使用LINUX shell脚本读取头名为Key第一列下有值的CSV文件

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

我可以在Linux中使用findrsync命令移动目录而不使用CSV文件,但我获得的数据存储在CSV文件中,我不太熟悉使用Linux shell脚本读取CSV

有人能帮我吗

谢谢, 纳伦德拉。

尝试这样做:

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解析器,谢谢!在你的帮助下,我能够读取CSV文件。但是使用命令value=$(awk-F,'NR>1{print$1}'test.csv),当我回显值的o/p时,我得到连续的o/p->“TST-1”“TST-2”。我无法将值“TST-1”从“TST-2”中分离出来,以此类推。。。。使用此单个条目“TST-1”、“TST-2”,。。。。我检查名为TST-1、TST-2,。。。存在并使用命令-find/opt/XXXX/tomcat/data/attachments-name$value-exec rsync-avR-删除发送的文件{}/path/to/backup/drive/\;非常感谢任何帮助!