当前位置: 首页 > 面试题库 >

Linux:阻塞直到文件中的字符串匹配(“ tail + grep with block”)

壤驷经国
2023-03-14
问题内容

bash / GNU工具中是否有某种单行方式可以阻止文件中的字符串匹配?理想情况下,超时。我想避免多行循环。

更新: 似乎我应该强调一点,就是我希望过程在字符串匹配时结束。


问题答案:

谢谢你们两个人的回答,但是重要的是该过程一直阻塞直到找到,然后结束。我找到了这个:

grep -q 'PATTERN' <(tail -f file.log)

-q虽然没有太多可移植性,但是我只会使用Red Hat Enterprise Linux,所以可以。随着超时:

timeout 180 grep -q 'PATTERN' <(tail -f file.log)


 类似资料:
  • 问题内容: 我有这段代码可以在Linux中从Serial读取,但是我不知道在读取SerialPort时阻塞和非阻塞之间有什么区别,在哪种情况下哪个更好? 问题答案: 您提到的代码是IMO编码和注释不当的代码。该代码不符合POSIX的可移植性惯例,如正确设置终端模式和POSIX操作系统的串行编程指南中所述。该代码没有提到它使用非规范(也称为原始)模式,并且重用了“阻塞”和“非阻塞”术语来描述 VMI

  • 问题内容: 这应该非常简单。如果我有这样的字符串: 那么通常会采用什么方式来获取与此模式匹配的文件列表?(例如,它应该匹配但不匹配 我看了一下,看起来像是对的野兽,但是我不确定如何使用它在相对目录路径中查找文件。 我想我可以查找ant的源代码,因为它使用了通配符语法,但是我必须在这里遗漏一些显而易见的内容。 (编辑:上面的示例只是一个示例案例。我正在寻找一种在运行时解析包含通配符的常规路径的方法。

  • 我面临着与Java的匹配器的其他问题。我试图使用正则表达式匹配我的JSON的内容,而不使用外部库。我的JSON看起来像这样: 但是,我只想匹配上半部分中的单词,即在第一个匹配。我试图创建一个新的模式和匹配器,但我不知道如何进行,也不知道如何在第一次出现

  • 问题 你想要匹配两个或多个字符串。 解决方案 计算把一个字符串转换成另一个字符串所需的编辑距离或操作数。 levenshtein = (str1, str2) -> l1 = str1.length l2 = str2.length prevDist = [0..l2] nextDist = [0..l2] for i in [1..l1] by 1

  • 问题内容: 我正在寻找一个正则表达式来匹配Java源代码中的字符串文字。 可能吗? 我的意图是用其他东西替换另一个字符串中的所有字符串。使用: 这样的事情。 问题答案: 好。那么,您想要在字符串中搜索以双引号开头和结尾的一系列字符吗? 注意非贪婪模式。

  • 本文向大家介绍Python中的DI字符串匹配,包括了Python中的DI字符串匹配的使用技巧和注意事项,需要的朋友参考一下 假设我们有一个仅包含“ I”(表示增加)或“ D”(表示减少)的字符串S,令N = S的大小。我们必须返回[0,1,... ,N]使得对于范围0,...,N-1中的所有i- 如果S [i]为“ I”,则A [i] <A [i + 1] 否则,当S [i]为“ D”时,则A [