sed命令使用记录

背景:文件A,文件B,文件格式一致,有两列,第一列为key,第二列为value。

目的:将文件A中的内容插入到文件B中,不能在最后,不能有重复key(我的key和value用tab键分割)

实现:我的实现很low,就是查找key,若有再删除再写入,若无则直接写入。

        增加了全局变量a是为了插入B文件后的顺序与A一致,非必须操作。如下主要记录两方面内容,一个是shell中变量的自增;一个是sed命令的介绍

a=0
cat $filenameA |awk 'NR>0'|while read key value
do
    let a+=1
    line=`sed -n '/'"$key"'/=' $filenameB` 
    if [ ! -n "$line" ]; then
        sed -i "$a a$key  $value" $filenameBelse
        sed -i "$line d" test/$dbname
        sed -i "$a a$key  $value" $filenameB
    fi    
done

一  shell中变量的自增方式

a=$(($a+1))
a=$[$a+1]
a=`expr $a + 1`
let a++
let a+=1
((a++))

注意变量a定义的位置。补充一句shell全局变量的定义和使用

[mobdev@ip-192-168-1-15:52.77.116.218 advanced_search]$export a=1
[mobdev@ip-192-168-1-15:52.77.116.218 advanced_search]$echo $a
1

二 sed命令介绍

http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.html

posted @ 2016-12-30 14:06  KK_Yolanda  阅读(288)  评论(0编辑  收藏  举报