【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

相关文章
|
6天前
|
Linux 开发工具 Perl
在Linux中,有一个文件,如何删除包含“www“字样的字符?
在Linux中,如果你想删除一个文件中包含特定字样(如“www”)的所有字符或行,你可以使用多种文本处理工具来实现。以下是一些常见的方法:
30 5
|
6天前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
23 6
|
6天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
30 6
|
7天前
|
监控 Linux Perl
Linux 命令小技巧:显示文件指定行的内容
在 Linux 系统中,处理文本文件是一项常见任务。本文介绍了如何使用 head、tail、sed 和 awk 等命令快速显示文件中的指定行内容,帮助你高效处理文本文件。通过实际应用场景和案例分析,展示了这些命令在代码审查、日志分析和文本处理中的具体用途。同时,还提供了注意事项和技巧,帮助你更好地掌握这些命令。
21 4
|
12天前
|
缓存 监控 Linux
|
6月前
|
搜索推荐 Linux 开发工具
【Linux】深入理解awk命令
【Linux】深入理解awk命令
74 0
|
存储 Linux Shell
Linux awk命令
除了使用 sed 命令,Linux 系统中还有一个功能更加强大的文本数据处理工具,就是 awk。 曾有人推测 awk 命令的名字来源于 awkward 这个单词。其实不然,此命令的设计者有 3 位,他们的姓分别是 Aho、Weingberger 和 Kernighan,awk 就取自这 3 为大师姓的首字母。 和 sed 命令类似,awk 命令也是逐行扫描文件(从第 1 行到最后一行),寻找含有目标文本的行,如果匹配成功,则会在该行上执行用户想要的操作;反之,则不对行做任何处理。awk 命令的基本格式为: [root@localhost ~]# awk [选项] '脚本命令' 文件名
|
Unix 测试技术 Linux
|
Linux Perl
百度搜索:蓝易云【linux系统awk命令使用详解】
Awk是一种强大的文本处理工具,在Linux系统中广泛使用。它可以读取文件、处理数据并输出结果,通常与其他Linux命令一起使用。在本篇文章中,我们将详细讲解Awk的使用方法,帮助读者了解这个工具的基本原理和常见用法。
83 0
|
3月前
|
Linux Perl
在Linux中,如何使用请用 cut 或者 awk,sed命令取出 linux 中 eth0 的 IP 地址?
在Linux中,如何使用请用 cut 或者 awk,sed命令取出 linux 中 eth0 的 IP 地址?