shell bash获取文件路径并放入子目录

shell bash获取文件路径并放入子目录,bash,shell,Bash,Shell,我每行都有一根长线,一行像 1000强强>1000强>1000强>1000强>1000强>1000强强>1000强>1000强>1000强>4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 2-2-2-IPAPAPAK-9-93-1.Fq.5/BC 5/BC-IP/IP/PROJECT/T11073/T11073/T11073 10 10 10 10

我每行都有一根长线,一行像

1000强强>1000强>1000强>1000强>1000强>1000强强>1000强>1000强>1000强>4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 2-2-2-IPAPAPAK-9-93-1.Fq.5/BC 5/BC-IP/IP/PROJECT/T11073/T11073/T11073 10 10 10 10 10 10 10 10 10 7 7 7 7 7 7 7 7 7 3利卡KR/Fq/Fq/Fq/Fq/Fq/Fq/10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 7 7 7/ifshk5/BCúu IP/PROJECT/T11073úRICekkR/Fq/AS34戋u 59329/clean戋u 111220戋I631戋FCC0E5EACXX戋L4戋RICwdsRSYHSD11-2-IPAAPEK-93戋1.Fq.gz.total.info 11.824 0.981393 43.8283 95.7401 OK

这一行包含三个文件位置(粗体部分),我需要将这些文件scp到另一个位置,如/sample。还可以创建子目录来放置文件,如下面这行文件放入AS34_59329。所以需要创建/sample/as3459329 可能很多行的子目录名是相同的,所以需要判断子目录是否已经创建。 如何自动创建子目录

 #! /bin/bash
 while read myline  
 do  
   for i in $myline
      do 
     if [ -f $i]; then
    scp -r $i xxxx@192.168.174.33:/sample
     fi
      done
 done < data.list
#/bin/bash
读myline的时候
做
因为我用myline美元
做
如果[-f$i];然后
scp-r$ixxxx@192.168.174.33:/sample
fi
完成
完成
看起来您有ssh密钥,所以如果您使用ssh,那么远程命令将适用于您

 if [ -f $i]; then
     ssh xxxx@192.168.174.33 '[ -d /sample ]  && echo "OK" || mkdir /sample'
     scp -r $i xxxx@192.168.174.33:/sample
 fi

只有在远程框中有创建/sample的权限时,这才有效。

我的意思是在示例行中的sample中创建AS34_59329目录