惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
Y
Y Combinator Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
The Cloudflare Blog
博客园_首页
J
Java Code Geeks
A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
量子位
C
Check Point Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)
L
LangChain Blog
N
Netflix TechBlog - Medium
Hugging Face - Blog
Hugging Face - Blog
B
Blog
美团技术团队
Microsoft Security Blog
Microsoft Security Blog
P
Proofpoint News Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
宝玉的分享
宝玉的分享
罗磊的独立博客
MongoDB | Blog
MongoDB | Blog
Last Week in AI
Last Week in AI

博客园 - 进击的程序员

cuowu Angular4+路由 由href return false 来看阻止默认事件 TypeScript的配置文件 tsconfig.json Java标记接口 动手编写TCP服务器系列之一:日志文件 Shell语言系列之一:文件处理 给Amazon ec2 增加卷(Volume)并挂载到系统 Java打包问题之一:打包出现java.io.IOException: invalid header field struct中长度为0的数组用途与原理 面试题之堆栈队列系列一:设计包含min函数的栈 awk处理之案例六:awk根据条件插入文本 程序员的数学之余数:星期数的思考 面试题之实现系统函数系列一:实现memmove函数 awk处理之案例四:sort加awk来过滤文本 字符串面试题系列之七:字符串全排列 awk处理之案例三:awk去掉不需要的文本行 awk处理之案例二:awk匹配文本 awk处理之案例一:awk 处理百分比的问题
awk处理之案例五:awk匹配字段2包含字段1的文本
进击的程序员 · 2013-08-09 · via 博客园 - 进击的程序员

编译环境

   本系列文章所提供的算法均在以下环境下编译通过。

【脚本编译环境】Federa 8,linux 2.6.35.6-45.fc14.i686
【处理器】 Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.66GHz
【内存】 2025272 kB

前言

    awk是脚本中出色的文本处理工具。源码好像也是用C语言写的。本系列会针对不同的案例,用awk来解决我们所要的问题。 为什么会用awk呢?我们当然可以使用C语言或者java语言来对文本 做处理,但每次都要编译会令人发疯的。修改起来也麻烦,正所谓杀鸡焉用牛刀。 而脚本的灵活便捷使得工作变得更加轻松容易。在shell脚本编程中,awk堪称瑞士军刀绝不为过。

    本系列文章均系笔者所写,难免有一些错误或者纰漏,如果小伙伴们有好的建议或者更好的算法,请不吝赐教。

正文

【场景】

   现在有两个文本a.txt,里面包含的内容如下所示。
以----为分隔符,如果后面完全含有前面的字符,把这一行提取出来

   a.txt文本内容如下:

zhangming----zhangming34
lixiang----lixiang20
weiwei----notfind
zhangwei----azhangwei87
lina----aaalina53
lijun----alibjun

   提取完之后,c.txt文本内容如下:

zhangming----zhangming34
lixiang----lixiang20
zhangwei----azhangwei87
lina----aaalina53

【代码】

{
   FS = "-+"
   if( $2 ~ $1 )
   {
      print
   }
}

【解释】

FS是输入分隔符,一定要用双引号。默认为" "。
$2~$1意思是第二个字段要匹配第一个字段,则输出。

作者

   出处:http://www.cnblogs.com/gina

   本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。