私のファイルには次の内容があります。 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
どちらのコマンドも-v
grep フラグを使用します。これは、「パターンと一致しない行を印刷し、ダッシュで区切られた3つの数値セットで構成される行を検索するか、行の=
先頭(^
)から終了()までの$
1つ以上の数字で構成される行を検索することを意味します。 。
次のコマンドを使用して同じ操作を実行できますsed
。
sed -E '/([0-9]+-[0-9]+-[0-9]+|=+)/d' file