shell 同时执行多任务下载视频

本文为博主原创,转载请注明出处:

shell 脚本不支持多线程,但我们需要用shell 脚本同时跑多个任务时怎么让这些任务并发同时进行,可以采用在每个任务 后面 添加一个 & ,让其在后台运行,相互之间不影响;

这边的使用场景是 需要用shell 脚本同时下载很多个视频,如果用shell 脚本一个一个进行下载则很慢,所以考虑用shell 的& 同时执行下载任务;

  1. 寻找一个可无限下载视频的地址;由于 腾讯视频,优酷视频等视频下载时,都需要登录,通过翻阅各种网站,

找到一个 可以无限下载视频的网址:https://mixkit.co/free-stock-video/ ; 点开该网址,随便点击打开一个网站,如下所示,找到视频地址:

通过界面找寻到一个视频下载链接 如下: https://assets.mixkit.co/videos/preview/mixkit-countryside-meadow-4077-large.mp4

查看很多视频之后,发现这个网站对同一个分类的视频,按照序号递增的方式进行命名的,所以只需要找到 一个文件下载路径之后,就可以修改路径中的数字,获得新的下载链接进行下载;

  1. 编写shell 脚本进行下载:

思路:将下载的链接放入到一个文件中,shell 脚本不断遍历文件中的url 链接,进行后台同时并发下载:

创建 downloadUrl.txt ,并放入 文件路径:

https://assets.mixkit.co/videos/preview/mixkit-countryside-meadow-4074-large.mp4



创建 download.sh , 脚本与 downloadUrl.txt 位于同一个目录,脚本内容如下:

#!/bin/bash
for content in cat downloadUrl.txt
do
{
    wget $content
}&
done
  1. 执行脚本如下:
sh download.sh

shell 同时执行多任务下载视频

运行之后就会发现,会同时执行下载任务,从而实现并发下载

Original: https://www.cnblogs.com/zjdxr-up/p/16428922.html
Author: 香吧香
Title: shell 同时执行多任务下载视频

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/612250/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 人人都写过的5个Bug!

    大家好,我是良许。 计算机专业的小伙伴,在学校期间一定学过 C 语言。它是众多高级语言的鼻祖,深入学习这门语言会对计算机原理、操作系统、内存管理等等底层相关的知识会有更深入的了解,…

    Linux 2023年5月27日
    0135
  • Redis:redis常用操作命令

    redis登录 #登录命令 -h 登录地址 -p 端口 ./redis-cli -h 127.0.0.1 -p 6379 查看缓存大小 #查看缓存大小 dbsize 查看所有Key…

    Linux 2023年5月28日
    0137
  • [编译] 9、在Linux下搭建 nordic 最新基于 zephyr 的开发烧写环境

    前言 1、概述 2、安装工具 3、获取 nRF Connect SDK 源码 4、安装 Python modules 5、安装 toolchain 6、下载 nRF Command…

    Linux 2023年6月8日
    088
  • Java常见知识点总结

    1 重载 && 重写 重载: 发生在同一个类中, 方法名必须相同,参数类型不同、个数不同、顺序不同,方法返回值和访问修饰符可以不同,发生在编译时。 重写: 发生在父…

    Linux 2023年6月7日
    0101
  • Vue3

    setup 函数时,它将接受两个参数:(props、context(包含attrs、slots、emit)) setup函数是处于 生命周期函数 beforeCreate 和 Cr…

    Linux 2023年6月13日
    089
  • Git 代码提交和下载

    1、新建一个目录,存放下载下来的项目; 2、进入刚刚新建的文件夹,点击鼠标右键,选择”Git Bash Here” 3、进行基础配置,作为 Git 的基础配…

    Linux 2023年6月13日
    0124
  • archLinux 配置用户

    archlinux 启动之后只有默认的root用户,首先介绍下系统启动到登录需要的步骤 1.系统通过systemd 以pid为1初始化系统,启动系统用户和系统必要的服务,(这一步目…

    Linux 2023年6月13日
    084
  • macos 文件系统 git仓库 大小写敏感设置; git config core.ignorecase

    macos 的文件系统不区分文件名的大小写,这样会导致在一个文件夹,当修改一个文件名为大写的时候,git不能感知到。这样使用过程中会出现很多不必要的麻烦。之前设置过,最近使用,发现…

    Linux 2023年6月14日
    0118
  • XShell免费版的安装配置教程以及使用教程(超级详细)

    ​一、 XShell的作用 XShell可以在Windows界面下来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。它支持 RLOGIN、SFTP、SERIAL、T…

    Linux 2023年5月27日
    0175
  • Django_模型详解

    Django_模型ORM Django中内嵌了ORM框架,不需要直接编写SQL语句进行数据库操作,而是通过定义模型类,操作模型类来完成对数据库中表的增删改查和创建等操作。 O是ob…

    Linux 2023年6月7日
    0115
  • tcpip详解-读书笔记

    TCP/IP详解 卷一 第一版读书笔记 第一章: 应用层关心是应用程序的细节,而不是数据在网络中对的传输活动,下三层对应用程序一无所知,但他们要处理所有的通信细节。 七层代理可以根…

    Linux 2023年6月13日
    0102
  • 每天一个 HTTP 状态码 206

    206 Partial Content 是当客户端请求时使用了Range头部,服务器端回复… 206 Partial Content 206 Partial Conte…

    Linux 2023年6月7日
    0120
  • Nginx基础入门篇(2)—编译参数介绍

    查看命令 nginx -V nginx version: nginx/1.22.0 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (…

    Linux 2023年6月6日
    0135
  • WSL2卸载fish后无法登录问题的简单解决

    问题环境 Windows11 WSL2 OpenSUSE Tumbleweed 问题描述 在执行 sudo zypper remove fish之后,退出了终端界面,再次进入时终端…

    Linux 2023年6月13日
    0112
  • 【Example】C++ STL 常用容器概述

    前排提醒: 由于 Microsoft Docs 全是机翻。所以本文表格是我人脑补翻+审校。 如果有纰漏、模糊及时反馈。 了解每一种容器的特性、知道什么情况下用什么容器就可以。 序列…

    Linux 2023年6月13日
    085
  • 初学ajax

    ajax出现无疑改变了web应用:从开始的整体页面的刷新到局部页面的数据显示,不用刷新页面就可以与服务器交互; 1 function ajaxPost(data){ 2 3 var…

    Linux 2023年6月14日
    089
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球