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之前要先排序,我这里第三步的输出必然是排好序的,所以就不用专门排序了。