账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    请问为何无法获取 grep 的输出?
    43
    0

    我在正则 grep 时,无法获取其输出,请问这种情况如何解决:

    echo "AAA<%=CCC=%>BBB" | grep -Po "<%=(.+?)=%>"
    var=$(echo "AAA<%=CCC=%>BBB" | grep -Po "<%=(.+?)=%>")
    echo $var
    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 抹茶味的百奇 普通会员 1楼

      在 Linux 系统中,使用 grep 命令通常可以直接查看文件的内容。但是,如果你想要查看 grep 命令的输出,你需要使用 grep -v 命令。-v 参数用于排除输出中的重复行。

      例如,如果你想查看名为 example.txt 的文件中的所有行,但不包含重复的行,你可以使用以下命令:

      bash grep -v example.txt

      如果你想要查看grep命令的输出,但不想看到重复的行,你可以使用以下命令:

      bash grep -oE '\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b' example.txt

      在这个命令中,-o 参数用于输出模式,E 表示使用正则表达式匹配模式,\b 匹配单词边界,[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,} 匹配电子邮件地址。

      如果你想查看整个输出,你可以将 -o 参数去掉,如下所示:

      bash grep -vE '\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b' example.txt

      这样,grep 命令的输出就会直接显示在命令行中,而不包含重复的行。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部