bash - 如何从 bash 或脚本文件运行 wget?
问题描述
我正在尝试使用脚本文件 (sh) 中的参数运行以下wget命令,但它不会运行。但是,如果我在终端或控制台上运行相同的命令,它会按预期运行。有人可以告诉我我做错了什么。
GetMyUrls.sh
URL="http://craigslist.com"
wget -q ${URL} -O - | tr "\t\r\n'" ' "' | grep -i -o '<a[^>]\+href[ ]*=[ \t]*"\(ht\|f\)tps\?:[^"]\+"' | sed -e 's/^.*"\([^"]\+\)".*$/\1/g' > myurls.txt
编辑: 如果我直接在终端中运行以下命令,它可以工作,并且输出显示在代码下方。
wget -q http://craigslist.com -O - | tr "\t\r\n'" ' "' | grep -i -o '<a[^>]\+href[ ]*=[ \t]*"\(ht\|f\)tps\?:[^"]\+"' | sed -e 's/^.*"\([^"]\+\)".*$/\1/g' > myurls.txt
输出:
baby-jesus@babyjesus-X501A1:~$ wget -q http://craigslist.com -O - | tr "\t\r\n'" ' "' | grep -i -o '<a[^>]\+href[ ]*=[ \t]*"\(ht\|f\)tps\?: [^"]\+"' | sed -e 's/^.*"\([^"]\+\)".*$/\1/g'
https://post.craigslist.org/c/pit
https://accounts.craigslist.org/login/home
https://www.craigslist.org/about/sites
https://post.craigslist.org/c/pit
https://accounts.craigslist.org/login/home
https://www.craigslist.org/about/help/
https://www.craigslist.org/about/scams
https://www.craigslist.org/about/safety
https://www.craigslist.org/about/privacy.policy
https://www.craigslist.org/about/help/system-status
https://www.craigslist.org/about/
https://www.craigslist.org/about/craigslist_is_hiring
https://www.craigslist.org/about/open_source
http://blog.craigslist.org/
https://www.craigslist.org/about/best/all/
https://www.youtube.com/user/craigslist
http://www.craigslistjoe.com/
http://craigconnects.org/
https://forums.craigslist.org/?areaID=33
https://forums.craigslist.org/?areaID=33&forumID=5178
https://forums.craigslist.org/?areaID=33&forumID=3232
我想要做的只是从脚本文件中做完全相同的事情,并通过在该字符串的末尾添加> myurls.txt将输出定向到文本文件
解决方案
推荐阅读
- c# - 获取参数表达式的值
>[] exps 作为 where 条件,还获取属性的名称并为它们分配值 - excel - 在 Excel 中使用 VBA 从日期中提取连续且唯一的年份列表
- r - 填充索引值上方和下方的选择行
- .net - 如何抑制“发现不同版本之间的冲突”警告?
- c++ - 准确打印浮点数
- c - 如何防止 setenv 中的 shell 注入
- amazon-web-services - 通过 AWS Elastic Beanstalk 向 Windows Server 配置添加功能
- django - 用于创建父类型和多个子类型之一的 Rest Framework 序列化程序
- r - 延迟数据加载在 R 包安装中如何工作?
- sql - 递归CTE的逻辑处理