有人能帮我定义一个脚本,根据共享模板名称将多个文件逐个复制到其他目的地的多个文件夹中吗?
例如
我有几个文件夹名为15apr01d_c_000??gr_000??sq_v0?_000??hl_0000?ex.frames
(问号代表不同的数字)
我的文件位于名为的其他文件夹中15apr01d_c_000??gr_000??sq_v0?_000??hl_0000?ex.frames.region_000.sum-all_000-0??.box
所以我想要的是将每个相应的框文件复制到每个相应的文件夹中,因为它们共享模板名称15apr01d_c_000??gr_000??sq_v0?_0000?hl_0000?ex.frames
答案1
您正在寻找的 bash 脚本是:
#!/bin/bash
#for loop
for n in {1..3500}
do
cp -r `find /media/first4t/boxes/ -type f -iname $(cd /media/first4t/frames && ls -d 15apr01d_c_000[0-9][0-9]gr_000[0-9][0-9]sq_v0[0-9]_000[0-9][0-9]hl_0000[0-9]ex.frames | head -$n | awk 'END{print}')* | awk 'END{print}'` /media/first4t/frames/`cd /media/first4t/frames && ls -d 15apr01d_c_000[0-9][0-9]gr_000[0-9][0-9]sq_v0[0-9]_000[0-9][0-9]hl_0000[0-9]ex.frames | head -$n | awk 'END{print}'`/
done
将其另存为/path/to/anyname.sh
并运行:
bash /path/to/anyname.sh
答案2
一些 bash 脚本可以很好地完成这项工作。现在来写一些脚本。
你知道 bash 脚本吗?
使用 rsync !!