sed、head、grep、tail、EOF
[root@wuyike data]# cat >>wuyike.txt<<EOF
> test
> wuyike
> student
> EOF
head命令:取文件的前n行,默认是前10行,或用-n接数字 -n 3取前3行,可简写为-3
[root@wuyike data]# head -2 wuyike.txt
test
wuyike
sed命令(scream editor):过滤器,sed -n '/过滤的内容/处理的命令' 文件。
-n为取消sed的默认输出
-i改变文件内容
处理的命令:p print打印 d delete删除
例子:
[root@wuyike data]# sed -n '/wuyike/p' wuyike.txt
wuyike
[root@wuyike data]# sed '/wuyike/d' wuyike.txt
test
student
[root@wuyike data]# sed '/wuyike/p' wuyike.txt
test
wuyike
wuyike
student
[root@wuyike data]# sed -n '/wuyike/p' wuyike.txt
wuyike
sed用于替换:*****
例子:
[root@wuyike ~]# echo wuyike >test.txt
[root@wuyike ~]# echo wuyike >>test.txt
[root@wuyike ~]# cat test.txt
wuyike
wuyike
[root@wuyike ~]# sed 's#wuyike#keke#g' test.txt
keke
keke →这种替换只改变输出,不替换内容
[root@wuyike ~]# cat test.txt
wuyike
wuyike
[root@wuyike ~]# sed -i 's#wuyike#keke#g' test.txt
[root@wuyike ~]# cat test.txt
keke
keke →参数-i:替换内容
其中#是是分隔符,可用/@=等代替。被替换的内容包含分隔符时尽可能换另一种作分隔符或转义。
s常说的查找并替换,用一个字符串替换成另一个。g(global)与s联合使用时,表示对当前全局匹配替换(与下一个g意义不同)
一个题目:将每个文件夹中的test.txt中的wuyike替换成keke
[root@wuyike data]# tree
.
├── a
│ ├── ddd
│ │ └── fff
│ │ └── test.txt
│ └── test.txt
├── b
├── c
│ └── test.txt
└── wuyike
[root@wuyike data]# find /root/data/ -type f -name "test.txt"
/root/data/c/test.txt
/root/data/a/ddd/fff/test.txt
/root/data/a/test.txt
[root@wuyike data]# find /root/data/ -type f -name "test.txt"|xargs sed -i 's#wuyike#keke#g'
[root@wuyike data]# cat a/test.txt
keke
或:
[root@wuyike data]# find /root/data/ -type f -name "test.txt" -exec sed -i "s#keke#wuyike#g" {} \;
[root@wuyike data]# cat a/test.txt
wuyike
或:
[root@wuyike data]# sed -i "s#wuyike#keke#g" `find /root/data/ -type f -name "test.txt"`
[root@wuyike data]# cat a/test.txt
keke
前两种是串行处理 后一种是并行处理
另一道常考题:
[root@wuyike ~]# seq 100 >test.txt
tail 尾巴,取文件的最后N行,默认最后10行,取最后三行:-n 3或-3
[root@wuyike ~]# tail -3 test.txt
98
99
100
-f:跟踪一个文件尾部的实时变化。
只查看文件(共有100行)内第20到30行的内容:
[root@wuyike ~]# head -30 test.txt |tail -11
或:
[root@wuyike ~]# sed -n '20,30p' test.txt
20
21
22
23
24
25
26
27
28
29
30 (简单,易用法,高效)
grep命令:过滤器,把想要的和不想要的分离开。
[root@wuyike data]# grep "wuyike" wuyike.txt (想要wuyike)
wuyike
[root@wuyike data]# grep -v "wuyike" wuyike.txt (参数-v:排除。不想要wuyike)
test
student
grep参数:
-B除了显示匹配的一行之外,并显示该行之前的num行
-A除了显示匹配的一行之外,并显示该行之后的num行
-C除了显示匹配的一行之外,并显示之前后的各num行
[root@wuyike ~]# grep 30 -B 10 test.txt
20
21
22
23
24
25
26
27
28
29
30
[root@wuyike ~]# grep 30 -A 10 test.txt
30
31
32
33
34
35
36
37
38
39
40
[root@wuyike ~]# grep 25 -C 5 test.txt
20
21
22
23
24
25
26
27
28
29
30
转载于:https://blog.51cto.com/11815879/1913621
sed、head、grep、tail、EOF相关推荐
- linux查看生产日志命令(cat、grep、tail、sed)
linux查看生产日志命令 1.cat 2.grep 3.tail 4.sed 1.cat 查看log.log前200行 cat log.log | head -n 200 查看test.log倒数2 ...
- 用sed、awk和grep处理文本数据:实际需求的有效解决方案
前言 工作了好几年,也积攒了大量的脚本,有需求了改改旧脚本就可以了.对于以前没写过的脚本,比如想完成一个新需求,而某些参数可以满足的情况,网上搜索后,加上就行了,有什么困难的呢?所以对 "我 ...
- Linux常用的基本命令head、tail、tar、grep、date、cal(二)
一.head命令: 用于查看文件的开头部分的内容,有一个常用的参数-n用于显示行数,默认为10,即显示10行的内容 1.显示文件profile前5行内容 head -n 5 profile 2.hea ...
- linux cat 文本颜色,linux文本文件查看、展示命令 :cat head tail grep more less nl
linux文本文件查看.显示命令 :cat head tail grep more less nl linux文本文件查看.显示命令 :cat head tail grep more less n ...
- linux view查看日志命令,linux查看日志文件内容命令tail、cat、tac、head、echo、vi
linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, --------- ...
- linux view查看日志命令,【Linux】linux查看日志文件内容命令tail、cat、tac、head、echo...
linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, --------- ...
- linux查看日志文件内容命令tail、cat、tac、head、echo
当日志文件存储日志很大时,我们就不能用vi直接进去查看日志,需要Linux的命令去完成我们的查看任务. Log位置:/var/log/message 系统启动后的信息和错误日志,是Red Hat Li ...
- java查看日志命令_[Java教程]【Linux】linux查看日志文件内容命令tail、cat、tac、head、echo...
[Java教程][Linux]linux查看日志文件内容命令tail.cat.tac.head.echo 0 2017-11-14 12:00:29 linux查看日志文件内容命令tail.cat.t ...
- linux查看日志文件内容命令tail、cat、tac、head、echo、vi
linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, --------- ...
- 【Linux】软硬链接 文件存储,删除,文件目录管理 (cp、mv、rm、cut、sort、uniq、wc、head、tail、split 、which、whereis、type、find)
目录 一.文件存储 二.硬链接与软链接 硬链接 如何创建硬链接: 硬链接知识小结 软连接 如何创建软连接? 软连接知识小结: 三.文件删除的原理 四.文件目录管理命令 cp命令 mv 命令 rm 命令 ...
最新文章
- python 桑基图 地理坐标_【转载】Python数据可视化-实现Sankey桑基图
- 如何使用vscode安装和调试Java程序
- “面试不败计划”:集合、日期、异常、序列化、jvm、其他
- 【转】C# DateTime 日期计算
- 郑州大学计算机科学复试分数线,2021郑州大学考研复试线发布,计算机大涨,部分热门专业达406分...
- 监视和检测Java应用程序中的内存泄漏
- 性别有什么用_为啥不让男孩玩布娃娃?别让你的“性别偏见”,给孩子的人生设限...
- 【牛客 - 272A】Phrase String(构造,水题)
- EF中报错:附加类型“xxxx”的实体失败,因为相同类型的其他实体已具有相同的主键值。
- MySQL表的操作(一)
- co88 sap 实际结算_SAP 物料帐的基本原理
- 中国省份/城市OSM地图数据
- 【Python计算检验值】一元线性回归拟合,t值与p值,显著性检验
- 刷新HorizontalScrollView
- 手机游戏连接计算机屏幕,教你如何把手机屏幕投到电脑上玩手游还能跟端游一样键鼠操作!...
- 最大子矩阵和POJ1050
- 10 分钟搞定 Vim 编辑器常用命令!
- Altium常用元件库,制作原理图使用,共1844个文件,500M+
- 《程序员的自我修养》阅读笔记(一)
- The Shawshank Redemption-3
热门文章
- 从激活windows10家庭中文版到企业版再到开启Hyper-V
- 在php页面如何调用接口,php之web页面之间的接口调用
- mysql dba环境验收_面对一个全新的环境,作为一个Mysql DBA,应该了解
- arduino i2c 如何写16位寄存器_基于STM32使用I2C读取传感器数据
- Ubuntu 添加用户
- Python学习笔记:初识Tushare
- 安卓学习笔记04:安卓平台架构
- 安卓学习笔记01:安装集成开发环境Android Studio
- 大数据学习笔记29:Hadoop压缩机制演示
- 大学物理上册详细笔记_干货满满!快来pick自哈军工以来的学霸笔记!