如何在文件中排除包含日期和括号的所有行
就我而言:
2015-01-16 12:51:34,787 | [D] | query.Selao | ref:5463| 13 | Selao .select | Binding 4 to 432| [ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'
java.lang.NullPointerException
at com.api.base.dataaccess.elen(elen.java:424)
2015-01-16 12:51:34,788 | [D] | query.Selao | ref:5464| 14 | Selao .select | Binding 5 to 433| [ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'
<list>
<Filters class="com.base.Filter">
<Negated value="false"/>
</Filters>
</list>
排除后预期:
java.lang.NullPointerException
at com.api.base.dataaccess.elen(elen.java:424)
答案 0 :(得分:2)
egrep -v '([0-9]{4}(-[0-9]{2}){2})|(\[.*\])' YourFile
但您帖子中的<LIST>
呢?没有日期或括号,但没有预期的输出?
如果括号不是[]
,而是<>
egrep -v '([0-9]{4}(-[0-9]{2}){2})|(<.*>)' YourFile
所有3 的
egrep -v '([0-9]{4}(-[0-9]{2}){2})|(<.*>)|(\[.*\])' YourFile
答案 1 :(得分:1)
使用awk,
$ awk '!/[0-9]{4}-[0-9]{2}-[0-9]{2}|<.*>/' file
java.lang.NullPointerException
at com.api.base.dataaccess.elen(elen.java:424)
OR
grep -v '[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}\|<.*>' file
答案 2 :(得分:1)
sed
解决方案如何删除包含特定模式的所有行:
sed '/20[0-9][0-9]-[0-9]/d;/\<.*\>/d' file