• 欢迎访问好鸭,WordPress信息,WordPress教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏好鸭吧

Linux/Git下对大量的文件分批操作-2

Linux分类 haoduck 6个月前 (05-09) 382次浏览 0个评论

上次说过一次Linux/Git下对大量的文件分批操作
https://haoduck.com/389.html

这次对其进行一些扩展

无人值守式循环对GIT分批操作

下列操作都建议在Screen中进行
Screen可见https://haoduck.com/333.html

正文

首先要将GIT更改为git而非https的模式,否则会卡在输入邮箱和密码

这次的情况和我上次的有点不太一样

这次我需要操作的是几百个文件夹,但每个文件夹内的文件都不多,但文件也不算小

所以我的想法是每次push5个文件夹

所以在上次的脚本上稍微修改,再加一个循环即可

原脚本为

git add $(ls | grep -v / | head -n 100)
git commit -m "push 100 个文件"
git push origin master

依次

git add $(ls | grep -v / | head -n 200)
git commit -m "push 100 个文件"
git push origin master
git add $(ls | grep -v / | head -n 300)
git commit -m "push 100 个文件"
git push origin master

代表每次对100个文件进行操作

还有这是是进行了排除文件夹的操作的

#排除文件夹
git add $(ls | grep -v / | head -n 100)

#不排除文件夹
git add $(ls | head -n 100)

那么修改为操作5个文件夹,我这边是没有其他文件,只有文件夹的,所以就没有别的操作了

git add $(ls | head -n 5)

加上commit和push

git add $(ls | head -n 5)
git commit -m "对5个文件夹操作"
git push origin master

第二批5个文件夹就是

git add $(ls | head -n 10)

#依次第三批第四批
git add $(ls | head -n 15)
git add $(ls | head -n 20)

很容易就发现了规律,数字每次+5

定义一个变量i,每次+5

i=5
git add $(ls | head -n $i)
git commit -m "对5个文件夹操作"
git push origin master
i=i+5

加一个死循环

i=5
while true
do
git add $(ls | head -n $i)
git commit -m "对5个文件夹操作"
git push origin master
i=$(expr $i + 5)
echo "已操作"$i"个文件夹" #输出
done

好鸭 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Linux/Git下对大量的文件分批操作-2
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址