- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 tail -f 获取日志文件和日志输出此命令输入到 grep 命令并搜索“ERROR”字符串,grep 的输出用于创建/写入临时文件(tmpLog )。
命令:
tail -f logfile | grep -n -i "ERROR" > tmpLog
日志文件内容
100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.003
100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.0033
100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.004
100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.005
100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.006
100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.007
100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.0023
100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.0043
100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.004
100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.005
100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.006
100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.007
100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.0043
问题是,我没有在 tmpLog 文件中获取内容,虽然它已创建但内容为空但是当我尝试这个时
tail -f 日志文件 | grep -n -i "错误"*> tmpLog
我在 tmpLog 中有内容
a.sh:21: tail -f logfile | grep -n -i "ERROR" > tmpLog & #> /dev/null
logfile:1:100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.003
logfile:2:100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.0033
logfile:3:100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.004
logfile:4:100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.005
logfile:5:100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.006
logfile:6:100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.007
logfile:7:100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.0023
logfile:8:100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.0043
logfile:9:100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.004
logfile:10:100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.005
logfile:11:100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.006
logfile:12:100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.007
logfile:13:100.66.230.2 - - [03/Apr/2017:11:40:23 +0900] "ERROR /favicon.ico HTTP/1.1" 200 26238 0.0043
但我得到了这一行 a.sh:21: tail -f logfile | grep -n -i "ERROR"> tmpLog & #>/dev/null 在我不想要的日志顶部
最佳答案
您的工作目录中是否有名为a.sh
的文件?
是这个文件的第21行:
tail -f logfile | grep -n -i "ERROR" > tmpLog & #> /dev/null
你似乎得到这个的原因是因为在你的第二个例子中,你有效地运行:
grep -n -i "ERROR" * > tmpLog
它捕获当前目录中包含 ERROR
的所有行。
tail -f
实际上是一个无穷无尽的流,因此不适合以您似乎使用它的方式重定向到文件中。
你可能想看看this SU post关于缓冲如何导致重定向输出的问题。
关于linux - 为什么这段代码在 bash 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43221506/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!