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