linux - GREP - 向后搜索特定字符串

标签 linux bash curl grep

我想用 grep 搜索 file.txt 以找到结尾的 url。 “.doc”。当它找到 .doc 时,我希望 grep 倒退并在该字符串的开头找到“http://”。

输出将是 http://somesite.com/random-code-that-changes-daily/somefilename.doc

此页面上只有 1 个 .doc url,因此多个搜索结果应该不是问题。

请原谅,我是新手。我确实一次找到了答案,但搜索了 1 小时,再也找不到了。我愿意阅读和学习,但我认为我没有为我想做的事情使用正确的搜索词。谢谢。

最佳答案

您可以使用 regular expressions ,

使用标记 ^,您可以指示要查找的行的开头。

使用标记 $,您可以指示要查找的行的结尾。

然后,你可以做类似的事情

grep '^http:\\' \ '.doc$' file.txt

grep '^http://\|.doc$' file.txt

或者不使用正则表达式,而只是像@choroba 建议的那样使用通配符匹配模式:

grep 'http://.*\.doc' file.txt

关于linux - GREP - 向后搜索特定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50859157/

相关文章:

java - 使用 Java 执行在执行期间接受输入的 shell 脚本

linux - 如何在 Linux 中安装特定版本的 git commit 库?

linux - 我可以 grep 比较结果与时间戳吗?

linux - 如何让读取标准输入的程序在 Linux 后台运行?

json - 将 "="分隔值文件转换为 ":"json 文件

python - 如何合并前 12 列?

python - Powershell:Webclient 无法上传字符串

php - 无法让 cURL 在 Windows Apache 上的 PHP 中加载

php - 使用 PHP 时使用 socks5 代理的 cURL 请求失败,但它通过命令行工作

linux - 在 Linux 中使用多进程模块时,pyinstaller 不创建工作可执行文件