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

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

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

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

a=
cat $filenameA |awk 'NR>0'|while read key value
do
let a+=
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+))
a=$[$a+]
a=`expr $a + `
let a++
let a+=
((a++))

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

[mobdev@ip----:52.77.116.218 advanced_search]$export a=
[mobdev@ip----:52.77.116.218 advanced_search]$echo $a

二 sed命令介绍

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

sed命令使用记录的更多相关文章

  1. 【转】sed命令详解

    原文:http://www.cnblogs.com/emanlee/archive/2013/09/07/3307642.html sed命令行格式为: sed [-nefri]  'command' ...

  2. sed命令用法详解

    sed命令用法 sed是一种流编辑器,它是文本处理中非常有用的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时缓冲区中,称为『模式空间』(pattern space) ...

  3. Linux中的高级文本处理命令,cut命令,sed命令,awk命令

    1.2.1 cut命令 cut命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields    ## 用于有特定分隔字符 [r ...

  4. sed命令(二)

    转自:https://www.cnblogs.com/maxincai/p/5146338.html sed命令用法 sed是一种流编辑器,它是文本处理中非常有用的工具,能够完美的配合正则表达式使用, ...

  5. AWK与SED命令

    linux系统比较常用的AWK与SED命令,这两个命令主要是格式化文本文件信息.接下来将详细介绍这两个命令的基本用法以及可以实现的功能. 一.AWK命令 AWK语言的基本功能是在文件或者字符串中基于指 ...

  6. 【转】sed命令的基本操作

    原文链接 sed命令行格式为:          sed [-option]  ‘command’  输入文本/文件         常用选项:        -n∶取消默认的输出,使用安静(sile ...

  7. awk sed 命令

    awk awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大. 简单来说awk就是把文件逐行的读入,以 空格或TAB 为默认分隔符 将每行 ...

  8. awk和sed命令

    awk awk是一个强大的编辑工具,可以在无交互的情况下实现相当复杂的文本操作 awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 a ...

  9. 文本处理三剑客之sed命令

    第十八章.文本处理三剑客之sed命令 目录 sed介绍 sed命令常用选项 sed常用编辑命令 sed使用示例 sed高级语法 18.1.sed简介 sed全名stream editor,流编辑器,s ...

随机推荐

  1. Java-马士兵设计模式学习笔记-观察者模式-OOD线程

    一.概述 1.情景:孩子睡觉,醒后要吃东西,用java模拟此情况 2.设计:child类,Dad类,都继承Runnable,dad线程监视child线程(缺点:因为要监视,所以耗cup资源) 二.代码 ...

  2. STM32F05x加入RDP(LV1)后,Segger无法Unlock的解决办法

    沿用之前CM3核的STM32F10X系列的加入RDP功能,之后在Segger的Unsecured Chip或者Unlock STM32的Cmd无法进行去除RDP,而Unlock STM32则提示无法识 ...

  3. CSS3:empty

    :empty ---空的元素样式 <!DOCTYPE html> <html> <head lang="en"> <meta charse ...

  4. jquery.flip插件翻转效果

    首先去网站http://lab.smashup.it/flip/下载插件 简单应用: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran ...

  5. php监听客户端连接状态

    http://bbs.csdn.net/topics/390661022 http://www.poluoluo.com/jzxy/201207/169977.html http://zhidao.b ...

  6. Android之开发杂记(二)

    1.android 4.0 以后 高版本没有虚拟菜单键

  7. UVa 10006 - Carmichael Numbers

    UVa 10006 - Carmichael Numbers An important topic nowadays in computer science is cryptography. Some ...

  8. 感谢大家的支持,发布一个JWFD的补丁文件

    请用这个文件覆盖原来的JWFD开发包里面的同名文件,然后删除JWFD目录下面的那个FLOWTREE.OBJ 文件 然后重启JWFD.... 这个补丁修正了  流程图设计器-树型列表的几个BUG,因为有 ...

  9. java生成带html样式的word文件

    参考:http://blog.csdn.net/xiexl/article/details/6652230 最近在项目中需要将通过富文本编辑器处理过的文字转换为Word,查了很久,大家通常的解决办法是 ...

  10. Asp.net Web Api进行Nunit测试

    有两种方式 1.模拟Web请求. 2.直接本地调用Api接口 但是由于本地直接调用没有模拟请求环境,所以request为null public static HttpResponseMessage C ...