逐一尝试终端中的每一步。它们有效,但是当我执行时
cat $dj_name | grep -Eo "(https)://[a-zA-Z0-9./?=_%:-]*.mp3*" | sort -u > $dj_name-tracks
在脚本中,脚本失败,导致轨迹文件为空。 这是我正在使用的整个脚本。 谢谢你。
#!/bin/bash
echo "Which DJ set are we downloading from hearthis.at? (Find the name right after https://hearthis.at, like /*dj_name*/ and write is EXACTLY)"
read dj_name
mkdir $dj_name
cd $dj_name
wget https://hearthis.at/$dj_name/podcast/ -O $dj_name
cat $dj_name | grep -Eo "(https)://[a-zA-Z0-9./?=_%:-]*.mp3*" | sort -u > $dj_name-tracks
while read a b; do wget --user-agent=Mozilla/5.0 --save-cookies cookies.txt --post-data 'dir="$dir1"=&file="$file1"' --no-check-certificate "$a" "$b"; done > $dj_name-tracks
echo "If no error messages are displayed, you are probably good to go. Enjoy."
exit
现在工作,直接使用 wget -i 从而删除循环...感谢您的提示!
#!/bin/bash echo“我们从hearthis.at下载哪套DJ集?(在https://hearthis.at之后找到名称,例如/dj_name/并准确地写下)” 读取“dj_name” mkdir“$dj_name” cd“$dj_name” wget https://hearthis.at/$dj_name/podcast/ -O "$dj_name" 猫“$dj_name”| grep -Eo "(https)://[a-zA-Z0-9./?=_%:-].mp3" |排序 -u >“$dj_name-tracks” wget --user-agent=Mozilla/5.0 --save-cookies cookies.txt --post-data 'dir="$dir1"=&file="$file1"' --no-check-certificate -i "$dj_name -曲目” echo“如果没有显示错误消息,那么您可能就可以开始了。享受吧。”