【求助】linux shell下文件关联的取词替换

这段时间小弟在学一些Linux下的shell编程,发现这东西时而简单时而又想不到正确的方法。
这里我想问下,利用shell脚本能否批处理完成以下操作:
有两个文件file1,file2.
file1中文本类似于:
   balabala"本地视频"balabala
    balabala"本地音频"balabala
    balabala"图片浏览"balabala
               ......
file2中文本类似于:
  本地视频        Video
   本地音频        Audio
   图片浏览        Picture
          ......
这时我能否实现对file1中每行的特定词进行特定的替换?比如搜索到file1中的"本地视频"与file2中第一行$1匹配,那就用file2中匹配行的$2(Video)替换file1中的"本地视频",然后依次往下搜索匹配、替换。。。能否用awk实现?

作者: louis_ly   发布时间: 2011-05-30

保证file2中$1的唯一性
  1. awk 'NR==FNR{a[$1]=$2}NR>FNR{for (i in a) gsub(i,a[i]);print}' file2 file1
复制代码

作者: ywlscpl   发布时间: 2011-05-30

回复 ywlscpl


    $1唯一的话,确实能够实现,多谢!请教大牛,能推荐一些好的相关学习资料不?

作者: louis_ly   发布时间: 2011-05-30

回复 ywlscpl

请问能请教下NR==FNR是什么情况吗,还有这个awk是怎样处理的,是先读取file2文件再读取file1文件?多文件处理方面不太懂 谢谢

作者: yue_5516   发布时间: 2011-05-30

回复 yue_5516


这个时候你见什么都问,其实对你自身学习帮助不大,静下心看awk手册,本版置顶有下载,看完了基础再说。

作者: zooyo   发布时间: 2011-05-30

回复 louis_ly


作者: ywlscpl   发布时间: 2011-05-30

回复 zooyo


    恩,多谢指教!

作者: louis_ly   发布时间: 2011-05-30