このタイプのテキストファイルがあり、その文字列を含む行を見つけて、報告されたValidating Classification
エラーのみを取得します。考えられるエラーの種類がわかりません。
入力ファイル:
201600415 10:40 Error Validating Classification: error1
201600415 10:41 Error Validating Classification: error1
201600415 10:42 Error Validating Classification: error2
201600415 10:43 Error Validating Classification: error3
201600415 10:44 Error Validating Classification: error3
結果ファイル
201600415 10:40 Error Validating Classification: error1
201600415 10:42 Error Validating Classification: error2
201600415 10:43 Error Validating Classification: error3
これを達成するためにgrep、パイプ、その他のコマンドを使用できますか?
答え1
タイムスタンプを破棄する必要がありますが、「sort --unique」と一緒に「grep」を使用するとこれを行うことができます。
grep --only-matching 'Validating Classification.*' | sort --unique
したがって、grep -o
正規表現に一致する行の一部のみが表示されます。したがって、.*
すべての項目を含めるにはincludeが必要です。後ろに「分類確認」が一致)。その後、エラーリストがあれば使用できます。sort -u
一意のエラーリストのみを取得します。
答え2
データがtestファイルにあるとし、このコマンドを使用できます。
uniq -f 2 <test
答え3
私はawkを選ぶ
awk -F: '{ if (!a[$3]++ ) print ;}' file
-F:
目的:区切り記号で$3
モード以降:
!a[$3]++
最初に発生した場合にのみ真になることを保証します。