我有一个包含日志文件的目录,我想匹配一个模式来删除它并再次将内容写回到相同的文件

时间:2018-04-28 11:25:07

标签: bash shell awk sed

ls -ltr /var/log/script1/
total 5964
-rw-r--r--. 1 root root  22720 Apr 28 11:14 controller.log
-rw-r--r--. 1 root root    869 Apr 28 11:14 controller.log.2018-03-26-14
-rw-r--r--. 1 root root    893 Apr 28 11:14 controller.log.2018-03-19-13
-rw-r--r--. 1 root root  22409 Apr 28 11:14 controller.log.2018-03-19-12
-rw-r--r--. 1 root root  36918 Apr 28 11:14 controller.log.2018-04-02-05
-rw-r--r--. 1 root root  62605 Apr 28 11:14 controller.log.2018-04-02-04

上面的文件包含多个“at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)”消息我想删除它并将其余消息写在同一个文件中

我正在使用下面的命令打印输出:

for f in /var/log/script1/* ; do sed '/^\s*at/d' $f  ; done

我试过以下但没有运气:

  对于/ var / log / script1 / *中的f,

;在/ d'$ f>做sed'/ ^ \ s * $ f;完成

上面的命令返回空文件。有人可以帮忙!

0 个答案:

没有答案