【问题标题】:Linux command executingLinux命令执行
【发布时间】:2021-08-19 02:06:32
【问题描述】:

大家好,我需要帮助。 我有一个范围的文件内容 ip 和子域。 内容文件是:

trainingstg.linuxfoundation.org |
151.101.1.5
151.101.129.5
151.101.65.5
trainingstatus.linuxfoundation.org |
18.234.32.150
18.234.32.149
52.215.192.133
gerrit.linuxfoundation.org |
34.211.181.97
52.26.94.230
52.89.66.106

我只需要子域而不是 ip,所以我想要没有子域的命令 i linux Gut ip 我可以做什么? 文件名为 subdomains.txt

【问题讨论】:

  • 您提供了示例输入 - 很好。您没有提供示例输出 - 不太好。

标签: linux command


【解决方案1】:

您好,您还可以使用以下命令通过 sed 过滤您的文件:

这个会直接删除文件中的所有ip

sed -i '/^[0-9]/d' subdomains.txt 

输出

trainingstg.linuxfoundation.org |

trainingstatus.linuxfoundation.org |

gerrit.linuxfoundation.org |

这个另外一个也会去掉字符“|”只留下域,但输出不直接写入文件

sed -e '/^[0-9]/d' -e 's/|//g' subdomains.txt  

输出

trainingstg.linuxfoundation.org

trainingstatus.linuxfoundation.org

gerrit.linuxfoundation.org

【讨论】:

    【解决方案2】:

    您可以使用egrep 过滤您的文件内容,以仅打印包含字母和数字的行,如果您想要完全兼容,但不只打印数字,例如:

    $ egrep '([a-<][0-9][a-z]|[a-z][0-9])' file
    trainingstg.linuxfoundation.org |
    trainingstatus.linuxfoundation.org |
    gerrit.linuxfoundation.org |
    

    【讨论】: