├── README.md ├── install.sh ├── zc └── gd.sh /README.md: -------------------------------------------------------------------------------- 1 | # gd 2 | 一个接gclone后续的简单脚本 3 | 4 | 主要功能: 5 | 6 | 简化转存操作 7 | 8 | 提取分享链接文件夹,交互式选择保存位置 9 | 10 | 使用前提: 11 | 12 | gclone配置好。 13 | 14 | 网上教程很多,自行搜索 15 | 16 | 使用: 17 | ```shell 18 | sh -c "$(curl -fsSL https://git.io/gd.sh)" 19 | ``` 20 | -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | rm -rf gd.sh 3 | wget https://github.com/vcfe/gd/raw/master/gd.sh 4 | clear 5 | echo "\n\n\n\n\n输入配置gclone的名称\n" 6 | read -p "gclone config Name:" gclone 7 | sed -i "s/goog/$gclone/g" gd.sh 8 | chmod +x gd.sh 9 | dir=`pwd` 10 | pa=${PATH%%:*} 11 | rm -rf $pa/gd 12 | ln -s $dir/gd.sh $pa/gd 13 | echo "\n配合screen使用效果更佳(可以后台执行)\n" 14 | echo "输入 gd 使用脚本\n输入 gd 使用脚本\n输入 gd 使用脚本\n\n" 15 | 16 | -------------------------------------------------------------------------------- /zc: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | copy(){ 3 | gclone copy goog:{$link} goog:$1 --drive-server-side-across-configs -v 1>&1 | tail -n 5 4 | } 5 | check(){ 6 | gclone check goog:{$link} goog:$1 --disable ListR 7 | } 8 | gclone lsd goog: | awk '{print " ", NR," ",$5}' 9 | read -p '''输入连接和保存位置,用空格分开 10 | >>>''' link folder op 11 | link=${link#*id=};link=${link#*folders/};link=${link#*d/};link=${link%?usp*} 12 | foname=$(gclone lsd goog:{$link} --dump bodies -vv 2>&1 | awk 'BEGIN{FS="\""}/^{"id/{print $8}') 13 | fname=$(gclone lsd goog:{$link} --dump bodies -vv 2>&1 | awk 'BEGIN{FS="\""}/^{"id/{print $4}') 14 | [ -z "$foname" ] || [ $link != $fname ] && echo "无效连接" && exit 15 | echo "资源名: $foname" 16 | case $folder in 17 | [1-9]) 18 | name=`gclone lsd goog: | awk -v var=$folder 'NR==var {print$5}'` 19 | echo "保存位置: $name/$foname/$op" 20 | copy $name/$foname/$op 21 | check $name/$foname/$op 22 | ;; 23 | [1-9][0-9]) 24 | name=`gclone lsd goog: | awk -v var=$folder 'NR==var {print$5}'` 25 | echo "保存位置: $name/$foname/$op" 26 | copy $name/$foname/$op 27 | check $name/$foname/$op 28 | ;; 29 | 30 | *) 31 | echo "保存位置: $folder/$foname" 32 | copy $folder/$foname 33 | check $golder/$foname 34 | esac 35 | -------------------------------------------------------------------------------- /gd.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | copy(){ 3 | gclone copy goog:{$1} goog:"$2" --drive-server-side-across-configs -v 4 | } 5 | folder(){ 6 | gclone lsd goog:$2|awk -v sz=$1 'NR==sz {print$5}' 7 | } 8 | option(){ 9 | name=`folder $list` 10 | echo -e "\n\n确认请回车\n\n输入其他字符将在此 $name 下创建新文件夹并copy\n" 11 | read -p "保存到 $name/$foname 这个文件夹?" list2 12 | if [ -z $list2 ] ; then 13 | echo "保存至 $name/$foname" 14 | copy $link "$name/$foname" 15 | check "$name/$foname" 16 | else 17 | echo "保存至 $name/$list2" 18 | copy $link $name/$list2 19 | check $name/$list2 20 | fi 21 | } 22 | check(){ 23 | clear 24 | echo -e "\n\n\n\n操作完成。。。。\n\n\n\n\n开始数据比对....." 25 | gclone check goog:{$link} goog:"$1" --disable ListR 26 | echo -e "完成。\n\n\n" 27 | echo "去重进行中......(删除较旧文件)" 28 | gclone dedupe oldest goog:"$1" 29 | echo "完成。" 30 | } 31 | read -p """输入分享链接 32 | 请输入 ~>:""" link 33 | if [ -z $link ] ;then 34 | echo "不允许输入为空" 35 | exit 36 | else 37 | : 38 | fi 39 | link=${link#*id=};link=${link#*folders/};link=${link#*d/};link=${link%?usp*} 40 | fname=$(gclone lsd goog:{$link} --dump bodies -vv 2>&1 | awk 'BEGIN{FS="\""}/^{"id/{print $4}') 41 | foname=$(gclone lsd goog:{$link} --dump bodies -vv 2>&1 | awk 'BEGIN{FS="\""}/^{"id/{print $8}') 42 | clear 43 | [ -z "$foname" ] && echo "无效链接" && exit || [ $link != $fname ] && echo "链接无效,检查是否有权限" && exit 44 | echo -e "\n\n为了操作快捷,简便,只支持选择一级目录\n二级目录需要手动创建" 45 | gclone lsd goog:|awk '{print " ",NR," ",$5}' 46 | echo -e "\n\n确认保存根目录请回车\n\n输入其他字符将在此目录下创建新文件夹并copy\n" 47 | echo -e "此资源目录为 $foname\n\n" 48 | read -p " 选择文件夹 ~>: " list 49 | case $list in 50 | [1-9]) 51 | option;; 52 | [1-9][0-9]) 53 | option;; 54 | *) 55 | echo "保存至 $list/$foname" 56 | gclone copy goog:{$link} goog:"$list/$foname" --drive-server-side-across-configs -v 57 | check "$list/$foname" 58 | esac 59 | --------------------------------------------------------------------------------