假设我在文本文件中有一个单词列表,例如:
禁欲;虐待 ;学术的 ;容纳 ;住宿 ;住宿主义者;同案犯 ;完成 ;一致;帐户 ;负责;默认;尖刻的;缩写词
我想将每个单词更改为 URL 并使用终端窗口中的命令下载文件。例如,列表中的第一个单词abstinence
将更改为https://ssl.gstatic.com/dictionary/static/sounds/de/0/abstinence.mp3
,并且文件abstinence.mp3
将被下载到文件夹中。然后下一个单词,即abuse
会变成url ,并从url下载https://ssl.gstatic.com/dictionary/static/sounds/de/0/abuse.mp3
文件,依此类推。abuse.mp3
可以使用终端中的命令行或使用在命令行中运行的脚本来完成吗?
答案1
容易地:
while read -d ';' word; do
wget "https://ssl.gstatic.com/dictionary/static/sounds/de/0/$word.mp3";
done < file
解释
while read -d';' word
将从 读取每一行,并将每个分隔的单词(因为)file
保存为。然后将其传递给下载文件的地方。;
-d';'
$word
wget
答案2
这对我有用:
for word in $(tr -d \; < wordlist.txt); do
wget https://ssl.gstatic.com/dictionary/static/sounds/de/0/$word.mp3
done
答案3
在 BSD/OS X 上
sed -i '' 's/;/\
/g' mp3.txt && sed -i '' s'/^/wget\ https:\/\/ssl.gstatic.com\/dictionary\/static\/sounds\/de\/0\//g' mp3.txt && sed -i '' s'/$/.mp3/g' mp3.txt && chmod +x mp3.txt && ./mp3.txt
使用sed
。
答案4
要下载文件列表,您可以使用, 其中wget -i file
file
是包含要下载的 URL 列表的文件的名称。
有关更多详细信息,您可以查看帮助页面:man wget
。
使用文本处理工具(如 )可以轻松地从单词列表构建这样的 URL 列表sed
。