bash - 前置然后重定向
问题描述
我想重定向stderr
到一个文件以进行日志记录:
2>> "$logFile"
如何将字符串"error: "
添加到每一行?
解决方案
另一种选择是sed
:
2> >(sed -u 's/^/error: /' >> "$logfile")
仅使用 bash 内置函数可能是不可能的,因为这种为字符串添加前缀的机制需要与流一起使用。
请注意使用gnu sed
选项-u
( --unbuffered
) 从输入文件加载最少量的数据并更频繁地刷新输出缓冲区。
推荐阅读
- angular - 为什么我的 Angular Material 按钮和链接带有下划线/轮廓?
- spring-data - 如何在覆盖的spring-data方法中调用默认实现
- php - 如何轻松找到与动态字符串变量对应的变量总和?
- c# - HttpRequest 中 RawUrl 和 QueryString 之间使用特定语言对 URL 参数进行 UTF-8 编码的不同结果
- scala - Scala String* 类型(在函数 args 中)
- reactjs - 使用重新水化的 Redux 存储从 props 初始化状态
- css - CSS 如何在屏幕尺寸超过 768px 时制作圆形图片、文字到位或放大。
- python - 如何防止用户在 Python 中输入空格/空?
- oop - Crystal - 如何在父类的子类之间共享属性和/或类型
- node.js - 如何调试 Node_Modules 库?浮动标签不起作用