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