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

简介: 方法:(1)下载文本:wget https://mirror.coggle.club/dataset/jaychou_lyrics.txt.zip(2)由于该文件是zip文件,所以我们使用unzip来解压,unzip jaychou_lyrics.txt.zip

任务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

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

相关文章
|
7月前
|
Linux Perl
Linux|从 STDIN 读取 Awk 输入
Linux|从 STDIN 读取 Awk 输入
52 4
|
7月前
|
Linux Perl
Linux技巧|Awk 比较运算符
在 Awk 中,使用比较运算符(如 >, <, ==, != 等)可方便地过滤文本和字符串。本文通过示例展示了如何处理食品购物清单,标记数量小于或等于 20 的商品。 Awk 语法 `expression { actions; }` 用于根据条件执行操作,如在满足条件的行末尾添加特殊标记。例如,`$3 <= 20 { printf "%s\t%s\n", $0,"TRUE" ; }` 会在数量小于或等于 20 的行后添加 "TRUE"。继续探索 Awk 的比较运算符以进行更复杂的文本处理。
81 2
|
4月前
|
Linux Perl
在Linux中,如何使用请用 cut 或者 awk,sed命令取出 linux 中 eth0 的 IP 地址?
在Linux中,如何使用请用 cut 或者 awk,sed命令取出 linux 中 eth0 的 IP 地址?
|
2月前
|
Linux Perl
Linux awk命令使用技巧
【10月更文挑战第16天】Linux awk命令使用技巧
49 4
|
2月前
|
存储 安全 Linux
Linux文件管理命令md5sum awk
通过结合 `md5sum`和 `awk`,不仅可以高效地进行文件完整性校验,还能灵活地处理和分析校验结果,为系统管理、数据审计等工作提供强大的支持。
86 2
|
4月前
|
Linux 数据处理 Perl
在Linux中,awk命令的如何使用?
在Linux中,awk命令的如何使用?
|
4月前
|
数据挖掘 Linux Perl
在Linux中,awk和sed命令的作用?
在Linux中,awk和sed命令的作用?
|
4月前
|
Linux BI 数据处理
在Linux中,如何使用awk和sed进行文本处理?
在Linux中,如何使用awk和sed进行文本处理?
|
4月前
|
存储 Unix Linux
|
6月前
|
存储 Linux BI
Linux 三剑客 grep、sed、awk
Linux三剑客`grep`、`sed`和`awk`是强大的文本处理工具。`grep`用正则表达式搜索匹配行;`sed`是流式编辑器,处理文本流而不直接修改原文件;`awk`则用于灵活的文本分析和报告生成。例如,`grep`可查找匹配模式,`sed`可以删除文件内容,而`awk`能提取特定字段。通过组合使用,它们能高效解决复杂文本任务。
77 1