`
suncf1985
  • 浏览: 28716 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

awk替换

 
阅读更多
awk操作多个文件
ARGIND==1 时,处理第一个加发的文件,将文件的三列分别放到数组a b c 中.
其中数组a中存放的内容与文件2的$5相关联,并将文件1中的唯一id做为数组的下标
在读取第二个文件时,对每条记录进行判断.
#!/bin/sh
awk -F'|' 'BEGIN{}
OFS="|";
ARGIND==1{a[$1]=$1;b[$1]=$2;c[$1]=$3}
ARGIND==2{
if($5 in a){
app_99 = substr(c[$5],4,2);
if(app_99 == 99){
print $1,$2,$3,$4,c[$5],b[$5],$7; >> "url_app_0003_syy.txt";
} else {
print $1,$2,$3,$4,c[$5],"",""; >> "url_app_0003_syy.txt";
}
        } else {
print $0 >> "url_app_0003_syy.txt";
}

}' code_type.txt url_app_0003.txt

文件格式:
code_type.txt
107249|优酷视频|A0100000001
57028|乐视影视|A0100000002
82416|手机电视|A0100000003
121532|56视频|A0100000004
13097|百度视频|A0100000005
1363|CNTV网络电视|A0100000006
88444|天翼视讯|A0100000007
102411|迅雷看看|A0100000008
88303|天天影音播放器|A0100000009
122609|爱奇艺|A0100000010
6681|PP影院|A0100000011

url_app_0003.txt
id_001|url_001|protocol_001|service_001|82416||www.tv.com
id_002|url_002|protocol_002|service_002|1317||www.tv_002.com
id_003|url_003|protocol_003|service_003|82314||www.tv_003.co3

结果:
id_001|url_001|protocol_001|service_001|A0100000003||
id_002|url_002|protocol_002|service_002|A0199000001|CJ暗黑3COS|www.tv_002.com
id_003|url_003|protocol_003|service_003|A0100000012||
分享到:
评论

相关推荐

    linux目录下的awk讲解

    在Linux操作系统中,awk是一个强大的文本分析工具,用于处理和解析结构化数据。它可以从文本文件、标准输入或管道中读取数据,并基于指定的模式对数据进行操作。本篇文章将深入探讨awk的使用,包括调用方式、正则...

    linux中shell脚本中awk的深入分析

    * 使用 awk 替换文本:`awk -F "#" '{gsub("#", "||"); print $0}' awk1` * 使用 awk 分割字符串:`awk 'BEGIN {split("123#xuyunbo#aini", dong1, "#"); print dong1[1]}'` * 使用 awk 生成报表:`awk -f awk4.sh` ...

    awk 快速入门包含sed 正则表达式

    例如,用awk替换所有"error"为"success": ```bash awk '{gsub(/error/,"success")}1' file ``` 这里的`gsub`函数全局搜索并替换,`1`代表默认的动作(打印行)。 在sed中,可以这样实现相同的功能: ```bash sed '...

    awk详细用法小结awk awk

    通过上述总结,我们可以看出awk是一个功能极其强大的文本处理工具,它不仅可以用于简单的文本搜索和替换,还能进行复杂的数据分析和报告生成。掌握awk的基本用法和高级技巧,对于提高工作效率和数据处理能力具有重要...

    awk入门级教材awk入门awk入门

    把每行的第一个字段替换为其自然对数。 #### 十一、扩展知识点 - **多文件处理**:awk可以处理多个文件,将结果合并输出。 - **环境变量**:通过环境变量 `FS` 和 `OFS` 控制字段和输出字段分隔符。 - **条件判断...

    巧用AWK处理二进制数据文件

    "巧用AWK处理二进制数据文件" AWK是Unix、Linux中处理文本的好工具,可以对复杂的文本文件进行整理,提取其中的全部或者部分数据,按照需要的格式予以显示。但是,AWK的强大功能只针对纯文本文件,对于带有很多不可...

    Sed与Awk (中文版)

    **sed和awk工具的介绍与应用** sed和awk是广泛应用于UNIX系统中的两个文本处理工具。sed是流编辑器(stream editor)的缩写,而awk则是一种编程语言,得名于其三位开发者:Alfred Aho、Peter J. Weinberger和Brian ...

    Sed与awk_中英文高清版

    《Sed与Awk》是IT领域中关于文本处理的经典之作,主要讲解了两种强大的命令行工具:Sed(流编辑器)和Awk(数据处理语言)。这两款工具在Linux和Unix系统中广泛使用,尤其适用于数据提取、转换、报告生成等任务。 ...

    SED与AWK 高清第三版

    在Linux环境中,sed和awk是不可或缺的工具,它们能够高效地处理大量文本数据,进行搜索、替换、格式化等操作,极大地提高了运维人员的工作效率。 sed全称Stream Editor(流编辑器),它能逐行处理输入的数据流,...

    awk使用手册

    - sed主要用于文本替换,而awk更侧重于数据分析和处理。 - **与sort的对比**: - sort主要用于排序操作。 - awk虽然不专门用于排序,但结合其他工具可以实现排序功能。 #### 五、awk的应用场景 1. **日志分析*...

    linux环境下awk开发

    AWK不仅能够执行grep和sed等工具的基本功能,如模式匹配和文本替换,还提供了更高级的功能,包括但不限于: 1. **模式加载**:用户可以定义模式,并根据这些模式处理文本。 2. **流程控制**:通过条件语句和循环...

    sed and awk 101 hacks.pdf

    Sed和Awk是UNIX和Linux系统中极为重要的流编辑器和文本处理工具,它们能够通过简单的命令或脚本高效处理文本文件,实现复杂的文本转换和报告生成。接下来,我们将根据提供的文件内容详细地说明Sed和Awk的关键知识点...

    linux bash之 awk用法

    1. **多功能性**:Awk不仅能够执行简单的文本搜索和替换任务,还能进行复杂的模式匹配和数据转换。它可以解析结构化的数据,执行数学运算,甚至可以编写完整的脚本来实现自动化任务。 2. **易用性与灵活性**:对于...

    sed和awk单行命令比较

    使用`awk`的替换函数`sub`,同样使用正则表达式`^[\t]+`匹配每行开头的一个或多个制表符,并将其替换为空。 ##### 2.13 删除每行结尾的空白字符 **sed**: ``` sed 's/[\t]*$//' ``` 使用`sed`的替换命令`s///`,...

    sed和awk简明手册

    - sed适用于简单的文本替换和编辑任务,而awk更适合处理结构化的数据文件。 - 了解sed和awk的基本语法和常用命令对于日常的文本处理工作非常有帮助。 - 实践是学习这两种工具的最佳方法,建议结合实际案例进行练习以...

Global site tag (gtag.js) - Google Analytics