【发布时间】:2011-09-16 13:57:12
【问题描述】:
有没有办法通过 bash 从文本文件中获取“随机匹配”字符串?
我目前正在通过 bash、curl 和 grep 从在线文本文件中获取下载链接。
例子:
DOWNLOADSTRING="$(curl -o - "http://example.com/folder/downloadlinks.txt" | grep "$VARIABLE")"
来自在线文本文件,其中包含
http://alphaserver.com/files/apple.zip
http://alphaserver.com/files/banana.zip
其中 $VARIABLE 是用户选择的内容。
效果很好,但我想在文本文件中添加一些镜像。
So when the variable 'banana' is selected, text file which i grep contains:
http://alphaserver.com/files/apple.zip
http://betaserver.com/files/apple.zip
http://gammaserver.com/files/apple.zip
http://deltaserver.com/files/apple.zip
http://alphaserver.com/files/banana.zip
http://betaserver.com/files/banana.zip
http://gammaserver.com/files/banana.zip
http://deltaserver.com/files/banana.zip
代码应该选择一个随机的“香蕉”字符串并将其存储为“DOWNLOADSTRING”变量。 上面的当前代码只能使用文本文件中的 1 个字符串,因为它会抓取所有“香蕉”。
这是干什么用的;我想为在线文本文件中的文件添加一些镜像下载链接,而当前代码不允许这样做。
我可以让 grep 抓取一个随机的“香蕉”字符串吗? (不是全部)
【问题讨论】:
-
选择第一个匹配的“字符串”就足够了吗?这可以通过
grep -m 1 banana来完成。标志 -m 指定找到的最大行数