0
我有一个问题,我完全无法弄清楚。RClone/Bash - 循环并下载目录中的所有文件
我有RClone设置和CentOS上运行,我试图写一个脚本做以下
- 名单目录中的所有文件(rclone LS MsOneDrive:/ Dashcam /保存)
- 下载每个文件一次一个
- 上的每个文件运行一个命令
- 重新上传文件
- 删除原始
当我执行
rclone ls MsOneDrive:/Dashcam/Saved
我得到如下的一个更长的版本。其中,数字是文件大小,第二部分是文件名。
E.G. “文件大小filename.AVI”
511810664 00200367.AVI 509582440 01560041.AVI 86225016 03510005.AVI 8389816 03580007.AVI 503356520 05220203.AVI 502537320 06320079.AVI 508238952 06320080.AVI
有什么办法来解析成一个foreach循环或类似的东西,它可以让我执行循环内的操作呢?
这样做,这是你可以计算出总的#!/bin/bash
while read -r size name; do
rclone copy $name <local>
(($(stat -c %s <local>) == size)) || { echo ERROR; exit; }
localOperation
rclone copy <local> <remote>
rclone rm <remote>
done < <(rclone ls MsOneDrive:/Dashcam/Saved)
优势一:
沿(忽略foreach循环的语法)
#!/bin/bash
foreach {i} (rclone ls MsOneDrive:/Dashcam/Saved)
rclone copy $i <local>
localOperation
rclone copy <local> <remote>
rclone rm <remote>
fi
这些文件的名字是否真的有空格,即'508238952 06320080.AVI'?请更新您的Q与这个信息和**不**在评论中回应。 (然后我可以删除这条评论)。祝你好运。 – shellter