我的文件中有以下内容。我想使用 sed 从文件中删除日期和下划线。让我知道这是否可以用 grep 来完成。
03-02-2016
===========
<exp2://Ticket/26727777> Splunk Onboarding for SSO Components (UAT)
<exp2://Ticket/25709048> <SERVER-SETUP>Splunk Setup 14xMDN, 10xPRN Prod
<exp2://Ticket/26716590> Logs not populated properly from all servers - SPLUNK TEST
<exp2://Ticket/23995808> Prod: Create summary index summary_rover_lifecycle in DS cluster
05-02-2016
===========
<exp2://Ticket/26781310> Request for on-boarding on Splunk -Employee Systems Logs
<exp2://Ticket/26781558> Splunk setup for Apple Learn UAT hosts
答案1
如果您有权访问 GNU grep
:
grep -vP '^(\d+-\d+-\d+|=+)$' file
并且,如果您不这样做:
grep -vE '^([0-9]+-[0-9]+-[0-9]+|=+)$' file
这两个命令都使用 grep 的-v
标志,这意味着“打印与模式不匹配的行,并查找由破折号分隔的 3 组数字组成的行,或者=
从行的开头 ( ^
) 到结尾 ( $
) 的一个或多个数字组成的行。
您可以使用以下命令执行相同的操作sed
:
sed -E '/([0-9]+-[0-9]+-[0-9]+|=+)/d' file