24小时热门版块排行榜    

查看: 779  |  回复: 3

Louis_PND

新虫 (初入文坛)

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

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

xioooli

金虫 (小有名气)

【答案】应助回帖

★ ★
余泽成(金币+2): 谢谢参与应助! 2011-06-08 16:14:36
cat file2|while read line; do key=$(awk '{print $1}' <<< "$line"; val=$(awk '{print $2}' <<< "$line"; sed -i "s|$key|$val|g" file1;done
2楼2011-06-07 22:42:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xioooli

金虫 (小有名气)

【答案】应助回帖

不好意思,忘了用code括起来
CODE:
cat file2|while read line; do key=$(awk '{print $1}' <<< "$line"); val=$(awk '{print $2}' <<< "$line"); sed -i "s|$key|$val|g" file1;done

3楼2011-06-07 22:43:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)

【答案】应助回帖

★ ★ ★
余泽成(金币+3): 谢谢参与应助! 2011-06-08 16:15:19
perl代码:
CODE:
#!I:/Perl/bin/perl -w
open F, " while(){
    /(\S+)\s+(\S+)/;
    $tab{$1} = $2;
}
open F, " while(){
    s/>"(.*)"\"$tab{$1}\"<"/e;
    print;
}
print "\n";

漩涡的中心有一块空地,空空的。
4楼2011-06-08 13:42:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 Louis_PND 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区文章,我:8 O5 51O 54,科目齐全 +4 2h7du0nuhk 2026-02-07 8/400 2026-02-08 07:07 by vs90ilomwc
[硕博家园] 博士延得我,科研能力直往上蹿 +8 偏振片 2026-02-02 8/400 2026-02-08 06:52 by liyeqik
[公派出国] 售SCI一区文章,我:8 O5 51O 54,科目齐全 +3 5lbyq5wrhb 2026-02-07 3/150 2026-02-08 03:05 by vs90ilomwc
[考博] 售SCI一区文章,我:8 O5 51O 54,科目齐全 +3 5lbyq5wrhb 2026-02-07 3/150 2026-02-08 02:52 by vs90ilomwc
[论文投稿] 售SCI一区文章,我:8 O5 51O 54,科目齐全 +3 3rkserf6qr 2026-02-07 4/200 2026-02-08 02:45 by vs90ilomwc
[硕博家园] 售SCI一区文章,我:8 O5 51O 54,科目齐全 +3 3rkserf6qr 2026-02-07 3/150 2026-02-08 02:32 by vs90ilomwc
[硕博家园] 售SCI一区文章,我:8 O5 51O 54,科目齐全 +5 2h7du0nuhk 2026-02-07 5/250 2026-02-08 02:27 by vs90ilomwc
[考博] 售SCI一区文章,我:8 O5 51O 54,科目齐全 +5 2h7du0nuhk 2026-02-07 5/250 2026-02-08 02:25 by vs90ilomwc
[硕博家园] 售SCI一区文章,我:8 O5 51O 54,科目齐全 +4 2h7du0nuhk 2026-02-07 5/250 2026-02-08 02:12 by vs90ilomwc
[考博] 售SCI一区文章,我:8 O5 51O 54,科目齐全 +4 2h7du0nuhk 2026-02-07 6/300 2026-02-08 02:07 by vs90ilomwc
[教师之家] 售SCI一区文章,我:8 O5 51O 54,科目齐全 +4 2h7du0nuhk 2026-02-07 6/300 2026-02-08 02:05 by vs90ilomwc
[找工作] 售SCI一区文章,我:8 O5 51O 54,科目齐全 +4 2h7du0nuhk 2026-02-07 6/300 2026-02-08 01:46 by vs90ilomwc
[公派出国] 售SCI一区文章,我:8 O5 51O 54,科目齐全 +4 2h7du0nuhk 2026-02-07 7/350 2026-02-08 01:45 by vs90ilomwc
[考博] 售SCI一区文章,我:8 O5 51O 54,科目齐全 +4 2h7du0nuhk 2026-02-07 7/350 2026-02-08 01:32 by vs90ilomwc
[教师之家] 售SCI一区文章,我:8 O5 51O 54,科目齐全 +4 2h7du0nuhk 2026-02-07 7/350 2026-02-08 01:26 by vs90ilomwc
[教师之家] 有院领导为了换新车,用横向课题经费买了俩车 +7 瞬息宇宙 2026-02-04 7/350 2026-02-07 21:47 by tfang
[基金申请] 有时候真觉得大城市人没有县城人甚至个体户幸福 +9 苏东坡二世 2026-02-04 10/500 2026-02-07 12:37 by 小毛球
[考博] 天津大学招2026.09的博士生,欢迎大家推荐交流(博导是本人) +4 a793625982 2026-02-05 5/250 2026-02-07 10:57 by a793625982
[基金申请] 面上项目申报 +3 Tide man 2026-02-01 3/150 2026-02-05 22:56 by god_tian
[教师之家] 遇见不省心的家人很难过 +18 otani 2026-02-03 22/1100 2026-02-04 11:06 by tangmnt
信息提示
请填处理意见