您的位置:首页 > 其它

sed命令使用记录

2016-12-30 14:06 260 查看
背景:文件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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: