任务8:使用grep和awk从文件中筛选字符串
任务要点:字符筛选
步骤1:下载周杰伦歌词文本,并进行解压。
https://mirror.coggle.club/dataset/jaychou_lyrics.txt.zip
下载
wget https://mirror.coggle.club/dataset/jaychou_lyrics.txt.zip
解压
unzip jaychou_lyrics.txt.zip
步骤2:利用grep命令完成以下操作,并输出到屏幕
作为linux中最为常用的三大文本(awk,sed,grep)处理工具之一,掌握好其用法是很有必要的。
首先谈一下grep命令的常用格式为:grep [选项] ”模式“ [文件]
grep家族总共有三个:grep,egrep,fgrep。
https://blog.csdn.net/baidu_41388533/article/details/107610827
https://www.runoob.com/linux/linux-comm-grep.html
统计歌词中 包含【超人】的歌词
$ grep "超人" jaychou_lyrics.txt
统计歌词中 包含【外婆】但不包含【期待】的歌词
$ grep "外婆" jaychou_lyrics.txt | grep -v '期待'
统计歌词中 以【我】开头的歌词
$grep "^我" jaychou_lyrics.txt
统计歌词中以【我】结尾的歌词
$ grep "我$" jaychou_lyrics.txt
步骤3:利用sed命令完成以下操作,并输出到屏幕
https://www.cnblogs.com/JohnLiang/p/6202962.html
sed是文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作。
将歌词中 第2行 至 第40行 删除
sed '2,40d' jaychou_lyrics.txt
将歌词中 所有【我】替换成【你】
sed -n '/我/p' jaychou_lyrics.txt | sed 's/我/你/g'
任务9:在目录下创建zip和tar压缩文件,并进行解压
任务要点:文件压缩
https://www.cnblogs.com/wxlf/p/8117602.html
步骤1:
在/home/datawhale目录下在你英文昵称(中间不要有空格哦)的文件夹中,下载
https://mirror.coggle.club/dataset/jaychou_lyrics.txt.zip
步骤2:使用zip 压缩
使用zip 压缩/home/datawhale目录下在你英文昵称(中间不要有空格哦)的文件夹
zip命令
解压:unzip filename.zip
压缩:zip filename.zip dirname
步骤3:
将 /home/datawhale目录下在你英文昵称(中间不要有空格哦)的文件夹,打包为tar格式。
.tar.z
解压:tar zxvf filename.tar.z
压缩:tar zcvf filename.tar.z dirname
步骤4:
将 /home/datawhale目录下在你英文昵称(中间不要有空格哦)的文件夹,打包为tar.gz格式
.tar.gz 和 .tgz
解压:tar zxvf filename.tar.gz
压缩:tar zcvf filename.tar.gz dirname
压缩多个文件:tar zcvf filename.tar.gz dirname1 dirname2 dirname3
任务10:使用find和locate定位文件任务要点:文件搜索
https://www.runoob.com/linux/linux-comm-find.html
https://www.cnblogs.com/linjiqin/p/11678012.html
步骤1:使用find统计文件系统中以py为后缀名的文件个数
步骤2:使用find寻找/home/文件夹下文件内容包含datawhale的文件
find /home -type f |xargs grep "datawhale"