bash – 管道卷曲输出到grep

只是一点免责声明,我对编程不是很熟悉所以请原谅我,如果我错误地使用任何术语/以一种令人困惑的方式.

我希望能够从网页中提取特定信息,并尝试通过将curl函数输出传递给grep来完成此操作.哦,如果重要的话,这是在cygwin.

刚输入时

$curl www.ncbi.nlm.nih.gov/gene/823951

终端打印整个网页我认为是HTML.从这里我想我可以将这个输出管道输出到一个grep函数,无论搜索词需要什么:

$curl www.ncbi.nlm.nih.gov/gene/823951 | grep "Gene Symbol"

但终端不是打印网页,而是给我:

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  142k    0  142k    0     0  41857      0 --:--:--  0:00:03 --:--:-- 42083

任何人都可以解释为什么它这样做/如何在网页中搜索特定的文本行?我最终想要将基因名称,类型和描述等信息编译到数据库中,所以我希望在此之后将grep函数的结果导出到文本文件中.

非常感谢任何帮助,提前感谢!

Curl检测到它没有输出到终端,并显示进度表.您可以使用-s抑制进度表.

HTML数据确实被发送到grep.但是该页面不包含文本“基因符号”. Grep区分大小写(除非使用-i调用),并且您正在寻找“Gene symbol”.

$curl -s www.ncbi.nlm.nih.gov/gene/823951 | grep "Gene symbol"
    <dt class="noline"> Gene symbol </dt>

您可能还需要下一行HTML,您可以使用-A选项生成grep输出

$curl -s www.ncbi.nlm.nih.gov/gene/823951 | grep -A1 "Gene symbol"
    <dt class="noline"> Gene symbol </dt>
    <dd class="noline">AT3G47960</dd>

有关这些和其他选项的更多信息,请参阅man curl和man grep.

相关文章

普通模式 >G 增加当前行到文档末尾处的缩紧层级 $ 移动到本行的末尾 . 相当于一个...
原文连接: https://spacevim.org/cn/layers/lang/elixir/ 模块简介 功能特性 启用模块 快捷键 语言专属...
原文连接: https://spacevim.org/cn/layers/lang/dart/ 模块简介 功能特性 依赖安装及启用模块 启用模...
 =   赋值操作符,可以用于算术和字符串赋值 +        加法计算     -        减法运算...
1.根据包名来查看指定的APP指定数据 adb shell "top | grep com.xxx.xxx" 由于这样打印出来的数...
ctrl+F 向下翻页 ctrl+B 向下翻页 u 取消最近一次操作 U 取消当前行的操作 ZZ 保存当前内容并退出 gg 跳...