执行 tail -F 直到匹配模式

2024-04-14

我想做一个tail -F在文件上直到匹配模式。我找到了一种使用方法awk,但恕我直言,我的命令并不是很干净。问题是我need由于某些限制,只能用一行来完成。

tail -n +0 -F /tmp/foo | \
awk -W interactive '{if ($1 == "EOF") exit; print} END {system("echo EOF >> /tmp/foo")}'

尾部将阻塞直到EOF出现在文件中。它运作得很好。 END 块是强制性的,因为 awk 的exit不会立即退出。它使awk to eval退出之前的 END 块。 END 块挂在读取调用上(因为 tail),所以我需要做的最后一件事是在文件中写入另一行以强制 tail 退出。

有人知道更好的方法吗?


使用尾巴--pid当 shell 死亡时,option 和 tail 将停止。无需额外添加tailed file.

sh -c 'tail -n +0 --pid=$$ -f /tmp/foo | { sed "/EOF/ q" && kill $$ ;}'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

执行 tail -F 直到匹配模式 的相关文章

  • Bash 完成脚本在某些参数选项后完成文件路径

    我正在为命令行工具编写 bash 完成脚本 plink local cur prev opts COMPREPLY cur COMP WORDS COMP CWORD prev COMP WORDS COMP CWORD 1 opts 1
  • 将所有脚本参数复制到另一个变量

    我需要复制所有脚本参数并将它们传递给另一个脚本 我尝试这样做 args printargs sh args echo printargs sh args 但在这种情况下 如果我使用包含空格的参数调用我的父脚本 例如 script sh ar
  • 如何从 C 函数创建 shell 命令

    想知道如何获取一组 C 函数并将它们转换为 shell bash 命令 假设我有一组简单的 C 函数 int fn1 some C code for function 1 int fn2 some C code for function 2
  • 子 shell 何时继承其父 shell 环境?

    什么情况下将shell的环境传递给子shell 子 shell 始终从父 shell 获取所有变量 man bash将描述所有使用子shell的情况 主要是 command command command and command 所谓环境只
  • sed-删除不包含模式的行

    我很惊讶我在 SO 上找不到与此类似的问题 如何使用 sed 删除所有不包含特定模式的行 例如 我有这个文件 cat kitty dog giraffe panda lion tiger 我想要一个 sed 命令 当调用该命令时 它将删除所
  • 退出 bash 脚本但保持进程运行

    我正在运行服务器 需要使用参数执行以下命令 这些脚本目前工作得很好 但问题是当我运行脚本时我无法返回到控制台 它在控制台中保持运行 如果我强行停止它 那么该过程也会停止 我想继续运行该进程并返回到控制台 bin sh php home st
  • 使用 cURL 从 shell 发布 4GB 文件

    我尝试将文件大小为 4GB 的文件发布到 REST API cURL 不会上传此大小的文件 而是 POST 内容长度为 0 的文件 curl v i d work large png H Transfer Encoding chunked
  • 从 bash 脚本运行节点

    很简单 我正在尝试使用 cron 自动运行 nodejs 脚本 但是脚本本身似乎无法运行该文件 我的脚本很简单 usr bin env node node var node assets js update js 但是 在运行此命令时 它返
  • 正则表达式文字-文本范围

    有什么方法可以向正则表达式指示要显式搜索的文本块吗 我问这个问题是因为我必须匹配一段非常非常长的文本 其中包含各种元字符 并且 并且必须完全匹配 然后是一些灵活的内容 足以值得使用正则表达式 然后是更多文本必须完全匹配 冲洗 重复 不用说
  • shell脚本“x$VARIABLE”中x的用途[重复]

    这个问题在这里已经有答案了 我正在查看一些 shell 脚本 comarison shcu 中 x 的用途是什么 if x USER x RUN AS USER then su RUN AS USER c CATALINA HOME bin
  • 使用 sed 在文本范围下方插入行

    我有一段文本 其中一些部分由四空格缩进清晰地界定 PERCHANCE he for whom this bell tolls may be so ill as that he knows not it tolls for him and p
  • 在 shell 脚本中查找和替换

    是否可以使用 shell 在文件中搜索然后替换值 当我安装服务时 我希望能够在配置文件中搜索变量 然后在该值中替换 插入我自己的设置 当然 您可以使用 sed 或 awk 来完成此操作 sed 示例 sed i s Andrew James
  • 列出破折号中当前定义的函数?

    我想列出当前定义的函数dash 有什么办法可以做到这一点吗 我能想到的最接近的是type它可以用来测试一个函数是否存在 但除此之外我很困惑 附 我说的是dash在这里 不是bash or zsh 看看 exec c 似乎没有 没有 表是静态
  • 如何调用位于其他目录的Makefile?

    我正在尝试这样做 我想打电话给 make Makefile存在于其他目录中 abc可以使用位于不同目录中的 shell 脚本的路径 我该怎么做呢 由于 shell 脚本不允许我cd进入Makefile目录并执行make 我怎样才能编写she
  • 将“npm run start”的输出写入文件

    我想捕获的输出npm run start在一个文件中 我遇到了大量错误 我想更好地控制如何筛选输出 当我尝试时 npm run start gt log txt 我得到一个非常简短的文件 8 行 其结尾为 34m 39m 90m wdm 3
  • 如何在 Python 中跟踪日志文件?

    我想在 Python 中提供 tail F 或类似内容的输出 而无需阻塞或锁定 我找到了一些非常旧的代码来做到这一点here http code activestate com recipes 436477 filetailpy 但我认为现
  • Bash 脚本大小限制?

    我有一个 bash 脚本 在 RHEL 或 OS X 上运行时出现以下错误 第 62484 行 意外标记 换行符 附近出现语法错误 第 62484 行 o gz 这是一个自动生成的脚本 用于解决我公司使用的 Grid Engine 计算集群
  • 在 Fish Shell 中设置导出

    我安装了多个版本的 PHP 对于我的正常开发 我总是使用通过自制程序安装的 PHP 5 5 x 在鱼壳里 which php php version gt usr local bin php gt PHP 5 5 8 cli built J
  • shell_exec 的输出被截断为 100 个字符

    当在 shell 中运行以下命令时 curl F file filename http 192 168 0 1 产生以下输出 Accuracy 0 0 1 classification Accuracy 0 0 1 classificati
  • 在 Linux 中禁用历史记录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 要在 Linux 环境中禁用历史记录 我执行了以下命令 export HISTFILESIZE 0 export HISTSIZE 0 u

随机推荐

  • 添加 NOT LIKE 条件后查询返回的结果太少

    我的 Access 2010 数据库在我稍微更改用户请求的查询时表现得很奇怪 我有一个非常大的表 不要问 查询在其上运 行 然后提供给用户输入表单 不管怎样 今天 一种特殊的形式开始返回的结果比我们预期的要少得多 它通常会返回大约 1200
  • NSURLSession:后台上传然后调用服务api

    我试图使用新的 ios7 后台传输 api 将一些照片上传到服务器 现在发生的是 1 我们将字节上传到s3 2 调用服务api来 完成 上传 我查看了这个文档 似乎背景 NSURLSession 不支持 数据 任务 这是否意味着实际上传完成
  • WCF:在 IErrorHandler 中提供通用的FaultException

    一些上下文 我们有一个自定义 XSD 并使用 WSCF blue 生成 WSDL 和 C 代码 客户端使用ChannelFactory
  • Redux Connect w/ HOC - TypeError:无法设置未定义的属性“props”

    我正在 Next js 中构建快速身份验证高阶组件 但在使用以下代码时遇到了一些问题 import SignIn from components sign in import connect from react redux import
  • iOS - 架构 i386 的 3 个重复符号

    我在理解链接器命令错误时遇到问题 我收到以下信息 duplicate symbol OBJC IVAR XYZAddToDoItemViewController toDoItem in Users Library Developer Xco
  • WindowFromPhysicalPoint 和 WindowFromPoint 之间有什么区别?

    WindowFromPhysicalPoint http msdn microsoft com en us library aa969270 aspx是 Vista 中的新功能 它的文档几乎与WindowFromPoint http msd
  • 如何获取请求Referer路径?

    我需要引用者的路径 我不想要域名 例如 如果引用者是http www google com adsense I want adsense request referer返回一个字符串 但您可以使用Ruby 的 URI 模块 http www
  • Three.js 通过加载模型上的材质名称为材质添加边框

    是否可以在材料周围添加边框 如图所示 我可以通过以下代码设置材质颜色 object traverse function child if child instanceof THREE Mesh child material color se
  • OCUnit 测试在未测试的类中给出错误

    我编写了一个 OCUnit 测试 在 Xcode 3 2 中运行良好 现在在 Xcode 4 中遇到问题 它测试单个静态函数X在班上A 它不调用任何类或函数 库函数之外 唯一需要调用的其他代码是静态构造函数 它初始化两个静态变量 但同样 这
  • init的目的是什么!初始化器失败?

    Apple Swift 编程语言指南提到了 init 的存在 初始化程序 但没有提供任何示例 搜索初始化 在此页面中 https developer apple com library ios documentation swift con
  • 如何保持 Google App Engine 的运行实例

    谷歌应用程序引擎和开发人员控制台似乎又发生了变化 我不知道如何保持谷歌应用程序引擎的实例运行 即使该网站是偶像 应用程序引擎设置下曾经有一个滑块 但现在已经不存在了 我认为在 Google Speak 中我有动态实例 并且我需要一个常驻实例
  • 如何使用 Django 发布和检索 blob

    我有一个blob 这是我使用调整大小的图像
  • 如何在 R 中并排显示列表 - 列表的“cbind”?

    我希望利用我的屏幕空间并排查看几个简单的列表 我并不是想把它们结合起来 a lacbind 但我不介意是否创建一个新的中间结构 当然 要意识到一个列表可能有许多不同类型的对象 尽管我几乎保证我的列表具有相同的结构 如果有必要让事情正常工作
  • 有已知网络爬虫的列表吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试获取网络服务器上某些文件的准确下载数量 我查看了用户代理 其中一些显然是机器人或网络爬虫 但
  • 我真的需要 malloc 吗?

    据我了解 malloc是用来动态分配内存的 在我的代码中 我有时会调用以下函数 int memory get log unsigned char day unsigned char date unsigned char month char
  • App Store:仅针对 iPhone/iPod 推出,不适用于 iPad

    如何在 App Store 上启动仅适用于 iPhone iPod 而不是 iPad 的应用程序 我似乎在 plist 文件和 iTunesConnect 中都找不到任何设置 谢谢 你不能 Apple 的应用程序商店指南似乎明确不允许 iP
  • css位置固定根本不起作用

    我正在寻找一个页脚类型的东西布莱克霍利网站 http www blakehawley com它有一些不同的链接等 它应该是横幅样式 我的意思是它应该停留在底部并被修复 div 是 菜单 这是我的 HTML
  • 当 merge.ff = only 时如何挤压合并?

    首先 我有我的merge ff设置为only as in git config global merge ff only 我这样做是因为我不希望 git 在没有先与我检查的情况下进行非快进合并 这是一个很好的保障 确保我有机会做一些除了创建
  • ServiceStack AppHost 是单例吗?

    我一直在评估 ServiceStack 到目前为止 我已经被说服了 但我有一个要求 think将会破坏交易 我基本上需要多个 AppHost 派生的实例 第一个运行良好 但其余的则失败 因为 AppHostBase Instance 已被设
  • 执行 tail -F 直到匹配模式

    我想做一个tail F在文件上直到匹配模式 我找到了一种使用方法awk 但恕我直言 我的命令并不是很干净 问题是我need由于某些限制 只能用一行来完成 tail n 0 F tmp foo awk W interactive if 1 E