Unix 'find' + 'grep' 语法与 awk

2024-04-07

我使用这一行在我所在目录及其所有子目录的文件中查找短语“B206”。

find . -exec grep -s "B206" '{}' \; -print 

当它尝试读取某些文件并实际上将 putty 中的标题栏更改为一堆奇怪的字符时,它会崩溃

例如,当它遇到子目录中的 jpg 文件时,它总是崩溃。标题栏发生变化,屏幕中出现:

ÐF»*rkNQeË+Z׳kU£~MÞçÄZ½ªéúýØâÑn¡[U+Þ4ªÒ9/ê£<ú¯4}[IÓ­îÃ¥K»G%ݳ¢

迫使我按 Ctrl+C 返回提示符,然后退出。

有什么方法可以将代码添加到此行以排除 jpg 文件吗?更好的是,我可以在其中添加要排除的扩展列表的一段代码?


EDIT:
-not & -I do not work for me
I found this similar question https://stackoverflow.com/questions/221921/grep-exclude-include-syntax-do-not-grep-through-certain-files also related somewhat to mine

没有理由使用find: grep带有递归选项,-r。要获取匹配的文件名列表(而不是所有文件中所有匹配行的列表),您可以使用-l选项。如果你想完全忽略所有二进制文件,你可以使用--binary-files=without-match选项。如果您只想忽略具有特定扩展名的文件,可以使用--exclude选项,例如--exclude=*.{jpg,jpeg}忽略所有以以下结尾的文件.jpg or .jpeg。因此,您应该能够通过以下方式获得您想要的东西:

grep -r -l --binary-files=without-match .

现在,您在评论中提到您的版本grep没有-r or -l选项。不幸的是,我建议获取更新版本grep(最好是 GNU 变种)。

进一步说明:如果您使用find -exec,你应该使用+结束命令而不是分号,例如:

find . -exec grep options '{}' '+'

通过使用+, find只会分叉一个进程,并将所有匹配的文件名作为命令行参数传递给一个实例grep。只要您没有一百万个匹配文件(这将创建一个远远超出 shell 处理能力的命令行),这将会快得多。如果您使用分号代替,findfork 一个新进程each匹配文件,对于大量文件来说这确实很慢。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unix 'find' + 'grep' 语法与 awk 的相关文章

  • Git - 致命:无法获取当前工作目录?

    When I git clone从回购协议中 我得到 fatal Could not get current working directory No such file or directory 我该怎么办 我检查了服务器并发现 git文
  • 如何使用 bash 粘贴来自单独文件的列?

    我想用分隔符 合并不同的列表 第一个列表有 2 个单词 cat first one who 第二个列表有 10000 个单词 cat second languages more simple advanced home expert tes
  • 从文件中删除包含非英语 (Ascii) 字符的行

    我有一个文本文件 其中包含来自不同语言的字符 例如 中文 拉丁文等 我想删除包含这些非英语字符的所有行 我想包含所有英文字符 a b 数字 0 9 和所有标点符号 我如何使用 awk 或 sed 等 unix 工具来完成此操作 Perl 支
  • 将 cron 作业配置为在 Jenkins 上每 15 分钟运行一次

    如何在 Jenkins 上每 15 分钟运行一次 cron 作业 这是我尝试过的 在 Jenkins 上 我使用以下 cron 语法设置了每 15 分钟运行一次的作业 14 但该作业每小时执行一次 而不是 15 分钟 我收到有关 cron
  • 创建表时 MySQL 语法错误

    我正在尝试在 Filemaker gt MySQL 转换脚本中使用此查询 表创建步骤直接从 phpMyAdmin 导出中获取 并添加到 DROP 语句中 DROP TABLE IF EXISTS artifacts CREATE TABLE
  • 如何在Linux中获取带有图标的活动应用程序

    我想找到一种方法获取活动应用程序的列表及其名称和图标 实际上 我正在使用此命令来获取所有活动进程 wmctrl lp 示例输出 0x03800002 0 3293 user notebook XdndCollectionWindowImp
  • 使用空的weak_ptr作为参数调用map::count安全吗?

    打电话安全吗map count http www cplusplus com reference map map count on an 未初始化因此为空weak ptr http en cppreference com w cpp mem
  • 具有多个文件扩展名的查找命令

    我正在查看许多子目录 找到所有以 JPG jpg 和 png 结尾的文件 并将它们复制到一个单独的目录中 但是现在只找到 JPG 有人可以解释我做错了什么吗 find root TEST Images name png o name jpg
  • 在 C++ 中,为什么我们不能使用 > 和 < 来比较迭代器? [复制]

    这个问题在这里已经有答案了 我被问过这个问题 我真的不知道为什么 如果你有指针int x 您可以将指针与 gt and lt 因为它代表内存位置 例如0x0000 0x0004 0x0008等等 我知道迭代器和指针是不同的 但它们的行为方式
  • 如何同时正确使用管道和信号?

    我有 2 个孩子 我想将信号从孩子发送到父母 并将答案 随机数 为什么 为什么不 命名管道从父母发送到每个孩子 我有这个代码 include
  • 使用 grep 和正则表达式来过滤匹配项

    我正在尝试将 grep 与 v 一起使用进行反向匹配 并使用 e 进行正则表达式 我无法正确理解语法 我正在尝试类似的东西 tail f logFile grep ve string one string two 如果我这样做它不会过滤 如
  • pyvenv-3.4 返回非零退出状态 1

    我在 Kubuntu 14 04 我想用 python3 4 创建一个 virtualenv 我之前在其他文件夹中使用过 python2 7 但是当我尝试时 pyvenv 3 4 venv 我有 Error Command home fmr
  • 从 shell 查找不包含特定注释的 XML 文件

    我想搜索 awk grep sed 几个 XML 文件 pom xml 文件 跳过某些文件夹 而且 第一个条件是它们必须包含标签
  • Crontab 每 5 分钟一次 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我如何告诉 crontab 每 5 分钟运行一次 但从每小时的第二分钟开始 换句话说 我想在以下时间执行我的脚本minute 5 2 例如 我的脚本应
  • Swift 完成处理程序语法

    此代码用于回答此处的问题 如何在 Swift 中发出 HTTP 请求 https stackoverflow com questions 24016142 how to make an http request in swift let u
  • unix 下日期字段排序

    我有包含数十万条记录的文本文件 其中一个字段是日期字段 有没有办法根据日期字段对文件进行排序 09 APR 12 04 08 43 632279000 AM 19 MAR 12 03 53 38 189606000 PM 19 MAR 12
  • 正则表达式删除块注释也删除 * 选择器

    我正在尝试使用 bash 从 css 文件中删除所有块注释 我有以下 sed 命令的正则表达式 sed r s w s w d 这可以很好地去除块注释 例如 This is a comment this is another comment
  • 限制 jQuery id 字符串吗?

    简而言之 我的问题是字符串在 jQuery 中作为可搜索 id 或可搜索内容有什么限制 更新 我得到了 ID 部分 但不是为什么我什至无法使用该字符串搜索 html 内容 对于任何愿意告诉我一个正则表达式来将模式从 MM dd yy HH
  • 比较两个文件的单列

    我有两个文件 每个文件都有两列 并用空格分隔 我想找到两个文件中第 2 列不相同的行 并将它们输出到第三个文件 file A 1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2 BBBBBBBBBBBBBBBBBBBBBB
  • jQuery - 找不到函数?

    有人可以解释一下为什么下面的代码会抛出错误吗 JavaScript Document document ready function port box css display none ul portfolio li a bind clic

随机推荐