作家
登录

如何在Linux shell中找出所有包含指定文本的文件

作者: 来源: 2017-12-18 10:45:05 阅读 我要评论

  • /etc/os-release
  • 搜刮时包含/清除指定文件

    grep 敕令也可以只在指定文件中进行搜刮。比如,我们可以只在设备文件(扩大名为.conf)中搜刮指定的文本/字符串。 下面这个例子就会在 /etc 目次中搜刮带字符串 bash 且所有扩大名为 .conf 的文件:

    1. # grep -Ril bash /etc/*.conf
    2. OR
    3. # grep -Ril --include=\*.conf bash /etc/*
    4. /etc/adduser.conf

    默认情况下搜刮是大年夜小写敏感的,也就是说当搜刮字符串 stretch 时只会包含大年夜小写一致内容的文件。

    类似的,也可以应用 --exclude 来清除特定的文件:

    1. # grep -Ril --exclude=\*.conf bash /etc/*
    2. /etc/alternatives/view
    3. /etc/alternatives/vim
    4. /etc/alternatives/vi
    5. /etc/alternatives/vimdiff
    6. /etc/alternatives/rvim
    7. /etc/alternatives/ex
    8. /etc/alternatives/rview
    9. /etc/bash.bashrc
    10. /etc/bash_completion.d/grub
    11. /etc/cron.daily/apt-compat
    12. /etc/cron.daily/exim4-base
    13. /etc/dictionaries-common/default.hash
    14. /etc/dictionaries-common/words
    15. /etc/inputrc
    16. /etc/passwd
    17. /etc/passwd-
    18. /etc/profile
    19. /etc/shells
    20. /etc/skel/.profile
    21. /etc/skel/.bashrc
    22. /etc/skel/.bash_logout

    搜刮时清除指定目次

    跟文件一样,grep 也能在搜刮时清除指定目次。 应用 --exclude-dir 选项久煨。

    下面这个例子会搜刮 /etc 目次中搜有包含字符串 stretch 的文件,但不包含 /etc/grub.d 目次下的文件:

    1. # grep --exclude-dir=/etc/grub.d -Rwl stretch /etc/*
    2. /etc/apt/sources.list
    3. /etc/dictionaries-common/words
    4. /etc/os-release

    显示包含搜刮字符串的行号

    -n 选项还会显示指定字符串地点行的行号:


      推荐阅读

      腾讯发现者揭秘:怎么应对TensorFlow的安全风险,修复有多难

    开辟者大年夜赛路演 | 12月16日,技巧立异,北京不见不散 12 月 15 日,雷锋网报道,腾讯安然平台部预研团队发明谷歌人工智能进修体系 TensorFlow 存在自身安然风险,可被黑客应用带来安然>>>详细阅读


    本文标题:如何在Linux shell中找出所有包含指定文本的文件

    地址:http://www.17bianji.com/lsqh/39864.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)