unix shell:用字典替换

前端之家收集整理的这篇文章主要介绍了unix shell:用字典替换前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有包含一些数据的文件,如下所示
2011-01-02 100100 1 
2011-01-02 100200 0
2011-01-02 100199 3
2011-01-02 100235 4

并在单独的文件中有一些“字典”

100100 Event1
100200 Event2
100199 Event3
100235 Event4

而且我知道

0 - warning
1 - error
2 - critical
etc...

我需要一些带有sed / awk / grep或其他东西的脚本来帮助我接收这样的数据

100100 Event1 Error
100200 Event2 Warning
100199 Event3 Critical
etc

将以最佳方式或工作实例的方式感谢您的想法

更新

有时我有这样的数据

2011-01-02 100100 1
2011-01-02 sometext 100200 0
2011-01-02 100199 3
2011-01-02 sometext 100235 4

sometext =任意6个字符(也许这是有用的信息)
在这种情况下,我需要整个数据:

2011-01-02 sometext EventNameFromDictionary Error

或没有“sometext”

awk 'BEGIN {
 lvl[0] = "warning"
 lvl[1] = "error"
 lvl[2] = "critical"
 }
NR == FNR {
  evt[$1] = $2; next
  } 
{
  print $2,evt[$2],lvl[$3]
  }' dictionary infile

猜你在找的Bash相关文章