一、grep


grep和一些正则表达式,之前写过,所以这篇就不多描述了(点击这里跳转)

grep命令——检索和过滤文件内容 (在文件中去查找并显示包含指定字符串的行)

语法结构: grep 选项 查找条件 目标文件

选项:

-i 查找内容时忽略大小写

-v 条件反转 (和所写的条件正好完全相反)

-n 显示行号


二、sed流编辑器


(1)sed简介:


sed是一种流编辑器,它是文本处理中非常适中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的’行‘存储在临时缓冲区中,又称为 ‘模式空间’(pattern space) ,接着使用sed命令再去处理缓冲区中的内容,处理完成后,把缓冲区的内容输出到屏幕上,接着再去处理下一行,这样不断重复,知道处理到文件的末尾,文件内容并没有改变(也可以加选项,去直接修改文件,或者使用重定向指定文件,存储数据)


sed主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等


(2)工作流程:




sed [选项] ‘操作’ 参数

sed [选项] -f scriptfile 参数

参数就是文件,也就是指定的待处理的文本文件列表


- 常见选项


- 常见操作

-不常用操作

- sed元字符集

sed用法示例


创建测试文件: (之后的测试都是按这个文本来的,直接复制就行)

(1)输出符合条件的文本


——输出所有内容,等同于cat test.txt


20201201103437325.png


——输出第三行


20201201103502441.png

——输出第三到五行


20201201103534418.png

——输出所有奇数行 (n 表示读入下一行)

20201201103642935.png

——输出所有偶数行

20201201103735832.png


——输出1-5奇数行

20201201103833850.png

20201201103926813.png


——输出第四行至第一个包含the的行(也就是第四行开始,一直筛选到下一个包含the的行,这里是第五行就有the,所以筛选了两行)

20201201104214748.png

——输出包含the的所在行的行号(= 用来输出行号,只显示行号)

20201201104553559.png


——输出以PI开头的行 (^以PI开头)

20201201104706295.png

——输出以数字结尾的行($就是以什么什么结尾)


20201201104823988.png

——输出包含单词wood的行<单词>表示单词边界(即想要筛选包含单词的行就要使用\<wood\>这种的)


20201201105116581.png


(2)删除符合条件的文本 ’d’


nl ——计算文件的行数


也就是说可以配合nl然后操作sed去删除指定的行数

20201201105447787.png

——删除第三行 (因为全截图的话就太大了,所以之后都是局部截图,主要是知道效果即可)

20201201105603708.png


——删除三到五行


20201201105721596.png


——删除包含cross的行


2020120110580122.png

——删除不包含cross的行 (!即相反的意思!d即是反向删除不带cross的行)

20201201105830940.png


——删除开头为小写字母的行

20201201132511196.png


——删除以’ . ‘结尾的行('/\.$/d' ,这个d前面的/容易打成\,操作时要注意)


20201201132750621.png

——删除空行

20201201132923652.png

——删除重复的空行(这个等同与cat -s test.txt,)

20201201133047732.png

shell中的通配符 熟悉grep、cut、sort等小工具和shell中的通配符的使用(下)
shell中的通配符 熟悉grep、cut、sort等小工具和shell中的通配符的使用
shell中的通配符 熟悉grep、cut、sort等小工具和shell中的通配符的使用(中)
shell中的通配符 熟悉grep、cut、sort等小工具和shell中的通配符的使用
shell中的通配符 熟悉grep、cut、sort等小工具和shell中的通配符的使用(上)
shell中的通配符 熟悉grep、cut、sort等小工具和shell中的通配符的使用
Shell 编程(五):文本三剑客之 sed(二)
sed(Stream Editor)是一种流编辑器,sed 是对标准输出或文件逐行进行处理。sed 会在编辑器处理数据以前基于预先提供的一组规则来编辑数据流。能够根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要么存储在一个命令文本文件中。
adb命令查看包名 adb shell 如何关闭和启动应用 adb命令截屏幕 grep:过滤 adb 常用命令
adb命令查看包名 adb shell 如何关闭和启动应用 adb命令截屏幕 grep:过滤 adb 常用命令
shell编程前奏,Linux文本处理工具汇总grep、cut、sort、tee、diff、paste、tr(二)
shell编程前奏,Linux文本处理工具汇总grep、cut、sort、tee、diff、paste、tr(二)
shell编程前奏,Linux文本处理工具汇总grep、cut、sort、tee、diff、paste、tr(一)
shell编程前奏,Linux文本处理工具汇总grep、cut、sort、tee、diff、paste、tr(一)