首页 > 解决方案 > 使用 shell 命令从网站上抓取/下载 mp3 文件

问题描述

首先,这不是作业,这是一个切线项目,可以帮助我了解 shell 知识。我正在尝试制作一个简单的 shell 脚本,当给定命令的文本文件时,它会按顺序运行每个命令,直到完成之前的命令。

到目前为止,我想出了:

#!/bin/bash
input="/home/gome/Downloads/darknetdiaries.txt"
while IFS= read -r line
do
  echo "$line"
  $line
done < "$input"

在单独的文本文件中,我有:

wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep10-wiretap-mishap.mp3   
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep11-buyout.mp3   
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep12-cryptowars.mp3   
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep13-carna.mp3    
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep14-opjustina2.mp3   
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep15-illtill.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep16-eijah.mp3    
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep17-finn.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep18-jackpot.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep19-aurora.mp3   
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep1-pbx-hacking.mp3   
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep20-mobman.mp3   
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep21-black-duck-eggs.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep22-ministories1.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep23-levin.mp3    
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep24-bayonet.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep25-alberto.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep26-irs.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep27-chartbreakers.mp3    
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep28-unit8200.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep29-stuxnet.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep2-vtech.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep30-shamoon.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep31-hackergiraffe.mp3    
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep32-thecarder.mp3    
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep33-rockyou.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep34-foryoureyesonly.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep35-carbanak.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep36-jeremyfrommarketing.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep37-lvs.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep38-dark-caracal.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep39-3alarmlampscooter.mp3    
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep3-diginotar.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep40-no-parking.mp3   
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep41-just-visiting.mp3    
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep42-ministories-vol2.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep43-ppp.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep44-zain.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep45-xbox1.mp3    
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep46-xbox2.mp3    
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep47-projectraven.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep48-opsocialist.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep49-elliot.mp3   
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep4-talktalk.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep50-glowing-symphony.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep51-indopak-conflict.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep52-magecart.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep53-shadowbrokers.mp3    
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep54-notpetya.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep55-noirnet.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep56-jordan.mp3   
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep57-ms08067.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep58-oxymonster.mp3   
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep59-courthouse.mp3   
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep5-asus.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep60-dawgyg.mp3   
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep61-samy.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep62-cam.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep63-w0rmer.mp3   
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep64-shadowphones.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep65-psyop.mp3    
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep66-freakyclown.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep67-the-big-house.mp3    
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep68-triton.mp3   
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep69-humanhacker.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep6-jaysonstreet.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep70-ghostexodus.mp3  
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep71-fdff.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep72-bangladeshbank.mp3   
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep73-wannacry.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep74-mikko.mp3    
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep75-compromised-comms.mp3    
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep76-knavesout.mp3    
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep77-olympicdestroyer.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep7-manfred-part1.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep8-manfred-part2.mp3 
wget  https://darknetdiaries.com/podcasts/darknet-diaries-ep9-mtgox.mp3 

目前没有出现错误,但似乎只是打印出所有行而不任何事情。这是一张图片:在此处输入图像描述

我真的很感激帮助!

编辑:

上面的脚本按应有的方式工作。一个文件是您想要运行的所有命令的文本文件,另一个文件是 shell 脚本。

在文本文档中,我用暗网日记播客所有当前剧集的链接填充它:为了获得所有链接,我首先必须使用 Owasp Zap 扫描网站并整理 url。之后,只需将其弹出到一个文本文件中并在前面添加 wget 即可。

标签: bashshell

解决方案


只需在后面添加命令echo "$line"

#!/bin/bash
input="PATH_TO_TEXT_FILE"
while IFS= read -r line
do
  echo "$line"
  $line
done < "$input"

COMMAND_on从第二个 while 循环中删除。


推荐阅读