• [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相关推荐

  1. 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 ...

  2. 用sed、awk和grep处理文本数据:实际需求的有效解决方案

    前言 工作了好几年,也积攒了大量的脚本,有需求了改改旧脚本就可以了.对于以前没写过的脚本,比如想完成一个新需求,而某些参数可以满足的情况,网上搜索后,加上就行了,有什么困难的呢?所以对 "我 ...

  3. Linux常用的基本命令head、tail、tar、grep、date、cal(二)

    一.head命令: 用于查看文件的开头部分的内容,有一个常用的参数-n用于显示行数,默认为10,即显示10行的内容 1.显示文件profile前5行内容 head -n 5 profile 2.hea ...

  4. 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 ...

  5. linux view查看日志命令,linux查看日志文件内容命令tail、cat、tac、head、echo、vi

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, --------- ...

  6. linux view查看日志命令,【Linux】linux查看日志文件内容命令tail、cat、tac、head、echo...

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, --------- ...

  7. linux查看日志文件内容命令tail、cat、tac、head、echo

    当日志文件存储日志很大时,我们就不能用vi直接进去查看日志,需要Linux的命令去完成我们的查看任务. Log位置:/var/log/message 系统启动后的信息和错误日志,是Red Hat Li ...

  8. 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 ...

  9. linux查看日志文件内容命令tail、cat、tac、head、echo、vi

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, --------- ...

  10. 【Linux】软硬链接 文件存储,删除,文件目录管理 (cp、mv、rm、cut、sort、uniq、wc、head、tail、split 、which、whereis、type、find)

    目录 一.文件存储 二.硬链接与软链接 硬链接 如何创建硬链接: 硬链接知识小结 软连接 如何创建软连接? 软连接知识小结: 三.文件删除的原理 四.文件目录管理命令 cp命令 mv 命令 rm 命令 ...

最新文章

  1. python 桑基图 地理坐标_【转载】Python数据可视化-实现Sankey桑基图
  2. 如何使用vscode安装和调试Java程序
  3. “面试不败计划”:集合、日期、异常、序列化、jvm、其他
  4. 【转】C# DateTime 日期计算
  5. 郑州大学计算机科学复试分数线,2021郑州大学考研复试线发布,计算机大涨,部分热门专业达406分...
  6. 监视和检测Java应用程序中的内存泄漏
  7. 性别有什么用_为啥不让男孩玩布娃娃?别让你的“性别偏见”,给孩子的人生设限...
  8. 【牛客 - 272A】Phrase String(构造,水题)
  9. EF中报错:附加类型“xxxx”的实体失败,因为相同类型的其他实体已具有相同的主键值。
  10. MySQL表的操作(一)
  11. co88 sap 实际结算_SAP 物料帐的基本原理
  12. 中国省份/城市OSM地图数据
  13. 【Python计算检验值】一元线性回归拟合,t值与p值,显著性检验
  14. 刷新HorizontalScrollView
  15. 手机游戏连接计算机屏幕,教你如何把手机屏幕投到电脑上玩手游还能跟端游一样键鼠操作!...
  16. 最大子矩阵和POJ1050
  17. 10 分钟搞定 Vim 编辑器常用命令!
  18. Altium常用元件库,制作原理图使用,共1844个文件,500M+
  19. 《程序员的自我修养》阅读笔记(一)
  20. The Shawshank Redemption-3

热门文章

  1. 从激活windows10家庭中文版到企业版再到开启Hyper-V
  2. 在php页面如何调用接口,php之web页面之间的接口调用
  3. mysql dba环境验收_面对一个全新的环境,作为一个Mysql DBA,应该了解
  4. arduino i2c 如何写16位寄存器_基于STM32使用I2C读取传感器数据
  5. Ubuntu 添加用户
  6. Python学习笔记:初识Tushare
  7. 安卓学习笔记04:安卓平台架构
  8. 安卓学习笔记01:安装集成开发环境Android Studio
  9. 大数据学习笔记29:Hadoop压缩机制演示
  10. 大学物理上册详细笔记_干货满满!快来pick自哈军工以来的学霸笔记!