使用sed過濾提取文本中的信息

sed -r -n -e '/ERROR/p' mntenu_check.log | sed -r -e '/\[.{8}\.mlf\]/!d' | sed -r -e 's/.*\[(.{8})\.mlf\].*/\1/g' | uniq > filenamesTobeRemoved.log

NOTE:顯示的不正確,請用plain text來看和拷貝。

1. 第一步,在文件中將含有"ERROR"字符串的行輸出。-n 與p的配合使用

2. 第二步,僅輸出含有[XXXXXXXX.mlf]的行。

3. 第三步,提取出XXXXXXXX的信息,用的是s,g配合的替換操作

4. 第四步,使用uniq命令輸出去重後的XXXXXXXX。注意,使用uniq之前要先排序,我這裏第三步的輸出必然是排好序的,所以就不用專門排序了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章