awk 以列为域提取文件内容
文件内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
[root@hxy tmp] # cat file
[aa]
aa1
dd2
dd3
dd4
[bb]
dd5
dd6
dd7
xx8
dd9
[cc]
ee2
334
ghdfg7
uuu
ooo7
sdsd
ggg
gogo
pp[
gggs
ssss
jjjj
aaaa
|
我现在的需求是提取出[bb] 到[cc]之间的所有行
1
2
3
4
5
6
|
[bb]
dd5
dd6
dd7
xx8
dd9
|
1
2
3
4
5
6
7
|
[root@hxy tmp] # awk -v RS= '/^\[bb]/' file
[bb]
dd5
dd6
dd7
xx8
dd9
|
这个怎么理解呢?
-v 大家度知道是指定变量的
所以这个-v一是同样的指定了RS=
等于空就是默认的输入分隔符为'\n'既是空行
so我们这里的文件就会被分为3行了
1
2
3
4
|
[root@hxy tmp] # awk -v RS= '{print $1,$2,$3,$4,$5,$6,$7}' file
[aa] aa1 dd2 dd3 dd4
[bb] dd5 dd6 dd7 xx8 dd9
[cc] ee2 334 ghdfg7 uuu ooo7 sdsd
|
这样是不是好理解多了,我想打印哪一行就打印哪一行就行了
1
2
3
4
5
6
7
|
[root@hxy tmp] # awk -v RS= 'NR==2 {print}' file
[bb]
dd5
dd6
dd7
xx8
dd9
|
这里的 NR==2 {print} 和 /^\[aa]/ 是同样的结果
第一个是明确了打印第二行
第二个是匹配[aa]然后打印[aa]所在的行,达到同样的结果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
[root@hxy tmp] # awk -v RS= 'NR==2,NR==3 {print}' file
[bb]
dd5
dd6
dd7
xx8
dd9
[cc]
ee2
334
ghdfg7
uuu
ooo7
sdsd
ggg
gogo
pp[
gggs
ssss
jjjj
aaaa
|
这样打印出来的是第二个域到第三个域之间的结果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
[root@hxy tmp] # awk -v RS= 'NR==1,NR==3 {print}' file
[aa]
aa1
dd2
dd3
dd4
[bb]
dd5
dd6
dd7
xx8
dd9
[cc]
ee2
334
ghdfg7
uuu
ooo7
sdsd
ggg
gogo
pp[
gggs
ssss
jjjj
aaaa
|
而这样打印的是第一个域到第三个域之间的结果
如果我只想打印第一域和第三域呢?
[root@hxy tmp]# awk -v RS= 'NR==1;NR==3 {print}' file
[aa]
aa1
dd2
dd3
dd4
[cc]
ee2
334
ghdfg7
uuu
ooo7
sdsd
ggg
gogo
pp[
gggs
ssss
jjjj
aaaa
这样就行了.
如果有其他的要求,在干要求改就行了到此实验结束.
本文转自 Forande 51CTO博客,原文链接:http://blog.51cto.com/853056088/1932477
awk 以列为域提取文件内容相关推荐
- Asp.NET大文件上传组件开发总结(二)---提取文件内容
不知地震什么时候结束,为了给老婆小孩守夜,看来还不能睡,那就把第二篇也写了吧,只是不知对大家有没有用哟. 为了提供文件内容,我们需要首先需确定客户请求中发送的有文件内容,然后确定文件内容的位置.这部分 ...
- 【转】Asp.NET大文件上传组件开发总结(二)---提取文件内容
为了提供文件内容,我们需要首先需确定客户请求中发送的有文件内容,然后确定文件内容的位置.这部分对应的代码如下: 1HttpApplication app = sender as HttpApplica ...
- 如何使用Tika提取文件内容
如何使用Tika提取文件内容 什么是Tika? Tika全名Apache Tika,是用于文件类型检测和从各种格式的文件中提取内容的一个库. Tika使用现有的各种文件解析器和文档类型的检测技术来检测 ...
- 提取文件内容需要什么工具?
File Juicer for Mac是一款简单好用的文件提取工具,不仅可以提取word.ppt等档案中的图片文件,还可以可提取PDF文件中的图片文档,使用简单! 功能 File Juicer Mac ...
- 搜索文件内容的几种方式
搜索文件的几种方式: 一.提取文件, 插入数据库text,使用like 查询. 使用poi或PageOffice提取文件内容文字 缺点:只适合数据量不大的情况 二.提取文件, 插入数据库text,创建 ...
- Linux追加文件内容并在内容前加上该文件名(awk, FILENAME功能妙用)
假如有三个文件file1.txt,file2.txt,file3.txt 每一个文件内容如下: 现在打算提取每一个文件字符为16的行,打印该行所有的内容.以及该文件名,并追加到file4.txt,则可 ...
- linux awk合并文件内容,awk实际应用:文本合并
请使用awk命令将如下两份文件中名字相同的两行合并起来 [root@localhost ~]# cat 1.txt 韩海林 21岁 海林韩 23岁 韩林海 22岁 林海韩 24岁 [root@loca ...
- 2019-8-20 [Linux] 6.Shell的基本操作 查看 改变 列出 阅读开头/结尾 循环查看 阅读工具less 查找文件内容 文本分析工具AWK 文本编辑工具SED文件find 帮助man
文章目录 6.linuxShell的基本操作 6.1 查看目录和文件 6.1.1 显示当前目录:pwd 6.1.2 改变目录:cd 6.1.3 列出目录内容:ls 1) 查看列表信息 以及详细信息 2 ...
- Linux 文件管理-文件内容-分析工具【awk】脚本处理文本和数据-Linux 文本操作三剑客
1. awk简介 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入.一个或多个文件,或其它命令的输出.它支持用户自定义函数和动态正则表达式等先进功能,是li ...
最新文章
- c# 逆转数组元素的排序
- JS修改CSS的三种方式
- Deming管理系列(2)——怎样开发度量能力
- 深入理解C++的动态绑定和静态绑定
- 设计灵感|单色配色,如何让海报更出彩?
- python qq邮箱发邮件_Python用QQ邮箱发邮件的实例教程
- CSDN帐号管理规范
- 按键精灵根据图片查找技巧
- Word2Vec模型详解
- Echarts中调色盘的作用
- 国家AAAAA级旅游景区数量统计
- Sequence (矩阵快速幂+快速幂+费马小定理)
- eclipse代码文件误删恢复方法
- 微信小程序 - 打开跳转 H5 网页链接(小程序内打开网页)
- 如何控制舵机的速度?
- 【CuteJavaScript】GraphQL真香入门教程
- 洗牌-牛客 第一行一个数T(T ≤ 100),表示数据组数。对于每组数据,第一行两个数n,k(1 ≤ n,k ≤ 100),接下来一行有2n个数a1,a2,...,a2n(1 ≤ ai ≤ 1000
- 云端3d虚拟现实展制作
- Vite+Vue3+TypeScript
- RHCE6.0那点事----仅供参考