【Linux】使用grep和awk从文件中筛选字符串

简介: 任务8:使用grep和awk从文件中筛选字符串任务要点:字符筛选步骤1:下载周杰伦歌

image.png任务8:使用grep和awk从文件中筛选字符串

任务要点:字符筛选

步骤1:下载周杰伦歌词文本,并进行解压。

https://mirror.coggle.club/dataset/jaychou_lyrics.txt.zip

方法:

(1)下载文本:wget https://mirror.coggle.club/dataset/jaychou_lyrics.txt.zip

(2)由于该文件是zip文件,所以我们使用unzip来解压,unzip jaychou_lyrics.txt.zip

其他的压缩文件的解压可以参考博客。另外linux的命令大全。

步骤2:利用grep命令完成以下操作,并输出到屏幕

grep:在文件中提取和匹配符合条件的字符串行。

[root@localhost ~]# grep [选项] "搜索内容" 文件名

参考:

https://blog.csdn.net/baidu_41388533/article/details/107610827

https://www.runoob.com/linux/linux-comm-grep.html

2.1 统计歌词中 包含【超人】的歌词

Ctrl+空格切换到中文输入法。

grep "超人" jaychou_lyrics.txt
andy@ubuntu:~/coggle/andyguo$ grep "超人" jaychou_lyrics.txt
如果超人会飞 那就让我在空中停一停歇
不要问我哭过了没 因為超人不能流眼泪
只能说当超人真的好难
如果超人会飞 那就让我在空中停一停歇
不要问我哭过了没 因為超人不能流眼泪

2.2 统计歌词中 包含【外婆】但不包含【期待】的歌词

grep "外婆" jaychou_lyrics.txt | grep -v "期待"

image.png

2.3 统计歌词中 以【我】开头的歌词

grep "^我" jaychou_lyrics.txt

image.png

2.4 统计歌词中 以【我】结尾的歌词

grep "^我" jaychou_lyrics.txt
• 1

image.png

步骤3:利用sed命令完成以下操作,并输出到屏幕

https://www.cnblogs.com/JohnLiang/p/6202962.html

sed是文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作。

将歌词中 第2行 至 第40行 删除将歌词中 所有【我】替换成【你】

sed -n '/我/p' jaychou_lyrics.txt | sed 's/我/你/g'

image.png

相关文章
|
2天前
|
Linux Shell Python
如何计算 Linux 上文件中的空行数?
【5月更文挑战第11天】
7 0
|
2天前
|
Linux API
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
|
3天前
|
Linux
如何在 Linux 中递归更改文件的权限?
【5月更文挑战第10天】
14 3
|
3天前
|
Linux
Linux如何查询较大文件的方法
【5月更文挑战第8天】Linux如何查询较大文件的方法
6 0
|
4天前
|
Linux 程序员 Shell
【Linux】详解core dump文件的作用以及用法&&ubuntu20.04下无法形成core dump文件的解决办法
【Linux】详解core dump文件的作用以及用法&&ubuntu20.04下无法形成core dump文件的解决办法
|
4天前
|
Linux Shell
Linux操作系统下查找大文件或目录的技巧
Linux操作系统下查找大文件或目录的技巧
10 2
|
5天前
|
算法 Linux
Linux:文件增删 & 文件压缩指令
Linux:文件增删 & 文件压缩指令
7 0
|
2月前
|
搜索推荐 Linux 开发工具
【Linux】深入理解awk命令
【Linux】深入理解awk命令
50 0
|
6月前
|
存储 Linux Shell
Linux awk命令
除了使用 sed 命令,Linux 系统中还有一个功能更加强大的文本数据处理工具,就是 awk。 曾有人推测 awk 命令的名字来源于 awkward 这个单词。其实不然,此命令的设计者有 3 位,他们的姓分别是 Aho、Weingberger 和 Kernighan,awk 就取自这 3 为大师姓的首字母。 和 sed 命令类似,awk 命令也是逐行扫描文件(从第 1 行到最后一行),寻找含有目标文本的行,如果匹配成功,则会在该行上执行用户想要的操作;反之,则不对行做任何处理。awk 命令的基本格式为: [root@localhost ~]# awk [选项] '脚本命令' 文件名
76 1
|
7月前
|
Unix 测试技术 Linux
软件测试|Linux三剑客之awk命令详解
软件测试|Linux三剑客之awk命令详解
71 0