【问题标题】:grep command to find filesgrep 命令查找文件
【发布时间】:2011-08-07 11:51:44
【问题描述】:

我正在寻找一个命令,它使用 grep 在 /usr/bin 中搜索具有 2 个链接的所有文件并按升序对其进行排序。

我要查找的第二个命令必须使用第一个命令并仅显示包含“x”的文件

谢谢你

【问题讨论】:

  • "按升序排列" - 按什么升序?按引用数?还是按修改日期?还是按名字?

标签: linux file find grep hyperlink


【解决方案1】:

您可以直接从 grep 执行此操作,例如:

grep -r --include=*.py "HOSTS" .

将在所有python文件('*.py')的当前目录('.')下递归('-r')搜索字符串“HOSTS”。

【讨论】:

    【解决方案2】:

    这样就可以了

    find /usr/bin -links 2 -print0 | xargs -0 ls -adltr
    

    修改 ls 以进行您需要的排序

    find /usr/bin -links 2 -print0 | xargs -0 grep -l "x"
    

    包含“x”的文件:)


    如果您的意思是:'包含 x' 因为'是可执行的(x 出现在 ls -l 输出中),请使用

    find /usr/bin -links 2 -executable -print0 | ls -adltr
    

    仅查看目录:

    find /usr/bin -links 2 -type d -executable -print0 | ls -adltr
    

    仅查看文件:

    find /usr/bin -links 2 -type f -executable -print0 | ls -adltr
    

    注意: 默认情况下,目录有 2 个链接(. 是一个链接),因此您可能需要查找带有目录的 -links 3

    【讨论】:

    • 添加了凭直觉查找可执行文件;我不太确定 the "x" 是什么意思 :)
    • 对我来说有趣的结果:perlbug :)
    猜你喜欢
    • 2020-01-24
    • 2021-02-22
    • 1970-01-01
    • 1970-01-01
    • 2015-07-21
    • 1970-01-01
    • 2017-06-06
    • 2019-07-19
    • 2014-07-20
    相关资源
    最近更新 更多