我是Bash的新手,我有一个存储在excel文件中的目录名称列表。我想找到这些目录(它们在计算机上的不同位置),然后从每个目录中复制特定文件(以特定结尾结尾的4个文件的列表)到远程计算机。
例如:
对于Excel工作表上的目录名称-“ NA123”,我想找到它并将其部分内容复制到远程计算机,例如,复制以下文件:samples-sheet.csv,toInfo.xml,文件夹名称“ NA123”下的newfiles.gz,todo.csv到远程计算机。
我如何开始这样做?
****编辑以举例说明如何实现*****
csv的简短示例如下:
A
1 14RD00129_TS1_01
2 SD-2015-06_01
3 US-005
4 RA99
csv上的所有名称都是可以在/home/bella/samples
下的3个不同文件夹下找到的目录:有些位于/home/bella/samples/gruop_1
,有些位于:/home/bella/samples/gruop_2
,有些位于:{ {1}}
因此,首先我需要遍历csv文件,以在我的计算机上找到匹配目录,然后需要将4个特定文件复制到具有相同目录名的远程计算机上。希望这更清楚...
答案 0 :(得分:1)
我想您的CSV文件应该只包含目录名称,因为只有一列。我假设CSV中没有标题行(在您的示例中为let conf = false;
do {
await this.sleep(2 * 1000);
conf = await this.checkSession(hash);
console.log(conf);
} while (!conf);
),也没有行号。您可以以此为起点:
A
答案 1 :(得分:0)
基本上,您可以执行以下操作:
# create the directory on the remote:
ssh remote-ip 'mkdir -p NA123'
# copy the files to the remote in the directory just created
for f in samples-sheet.csv toInfo.xml newfiles.gz todo.csv; do scp $f remote-ip:NA123/; done