Linux实践datawhale组队学习打卡笔记Task3

本次Linux实践是Datawhale组织的组队学习
学习资料以及Linux运行环境由开源学习组织Datawhale提供
本次学习针对的对象:
Linux不会操作,不知道文件目录创建、命令行等细节
Linux不知道如何运行代码,保存模型

目录

  • Task3学习内容
    • 学习资料
      • 任务8:使用grep和awk从文件中筛选字符串
        • 正则表达式:用于匹配字符串,包含匹配
      • 任务9:在目录下创建zip和tar压缩文件,并进行解压
      • 任务10:使用find和locate定位文件
        • find 命令和 grep 命令区别
    • 小结

Task3学习内容

Linux实践datawhale组队学习打卡笔记Task3_第1张图片

学习资料

由Datawhale开源组织推荐
https://bilibili.com/video/BV1yr4y1C7RC.
https://bilibili.com/video/BV1Zr4y1F7sQ.
https://bilibili.com/video/BV1S64y1v7UG.

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

任务要点:字符筛选步骤1:下载周杰伦歌词文本,并进行解压。https://mirror.coggle.club/dataset/jaychou_lyrics.txt.zip
Linux实践datawhale组队学习打卡笔记Task3_第2张图片

#解压文件:unzip  (文件名)

在这里插入图片描述
步骤2:利用grep命令完成以下操作,并输出到屏幕
Linux grep 命令和通配符
Linux grep 命令
grep 的作用是在文件中提取和匹配符合条件的字符串行

#语法
grep [-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
参数 作用
-a 或 --text 不要忽略二进制的数据
-A<显示行数> 或 --after-context=<显示行数> 除了显示符合范本样式的那一列之外,并显示该行之后的内容
-b 或 --byte-offset 在显示符合样式的那一行之前,标示出该行第一个字符的编号
-B<显示行数> 或 --before-context=<显示行数> 除了显示符合样式的那一行之外,并显示该行之前的内容
-c 或 --count 计算符合样式的列数
-C<显示行数> 或 --context=<显示行数>或-<显示行数> 除了显示符合样式的那一行之外,并显示该行之前后的内容
-d <动作> 或 --directories=<动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作
-e<范本样式> 或 --regexp=<范本样式> 指定字符串做为查找文件内容的样式
-E 或 --extended-regexp 将样式为延伸的正则表达式来使用
-f<规则文件> 或 --file=<规则文件> 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式
-F 或 --fixed-regexp 将样式视为固定字符串的列表
-G 或 --basic-regexp 将样式视为普通的表示法来使用
-h 或 --no-filename 在显示符合样式的那一行之前,不标示该行所属的文件名称
-H 或 --with-filename 在显示符合样式的那一行之前,表示该行所属的文件名称
-i 或 --ignore-case 忽略字符大小写的差别
-l 或 --file-with-matches 列出文件内容符合指定的样式的文件名称
-L 或 --files-without-match 列出文件内容不符合指定的样式的文件名称
-n 或 --line-number 在显示符合样式的那一行之前,标示出该行的列数编号
-o 或 --only-matching 只显示匹配PATTERN 部分
-q 或 --quiet或–silent 不显示任何信息
-r 或 --recursive 此参数的效果和指定"-d recurse"参数相同
-s 或 --no-messages 不显示错误信息
-v 或 --invert-match 显示不包含匹配文本的所有行
-V 或 --version 显示版本信息
-w 或 --word-regexp 只显示全字符合的列
-x --line-regexp 只显示全列符合的列
-y 此参数的效果和指定"-i"参数相同

歌词中 包含【超人】的歌词
Linux实践datawhale组队学习打卡笔记Task3_第3张图片

统计歌词中 包含【外婆】但不包含【期待】的歌词
Linux实践datawhale组队学习打卡笔记Task3_第4张图片

正则表达式:用于匹配字符串,包含匹配
正 则 符 作 用
? 匹配前一个字符重复 0 次,或 1 次(?是扩展正则,需要使用 egrep 命令)
* 匹配前一个字符重复 0 次,或任意多次
[] 匹配中括号中任意一个字符。例如,[abc]代表一定匹配一个字符,或者是 a,或者是 b,或者是 c
[-] 匹配中括号中任意一个字符,-代表一个范围。例如,[a-z]代表匹配一个小写字母
[^] 逻辑非,表示匹配不是中括号内的一个字符。例如,[^0-9]代表匹配一个不是数字的字符
^ 匹配行首
$ 匹配行尾

统计歌词中 以【我】开头的歌词
Linux实践datawhale组队学习打卡笔记Task3_第5张图片

统计歌词中 以【我】结尾的歌词
Linux实践datawhale组队学习打卡笔记Task3_第6张图片

步骤3:利用sed命令完成以下操作,并输出到屏幕
linux之sed用法
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作。

将歌词中 第2行 至 第40行 删除将歌词中 所有【我】替换成【你】
Linux实践datawhale组队学习打卡笔记Task3_第7张图片

任务9:在目录下创建zip和tar压缩文件,并进行解压

任务要点:文件压缩
linux压缩和解压缩命令

zip命令

解压:unzip filename.zip
压缩:zip filename.zip dirname

tar命令

解包:tar zxvf filename.tar
打包:tar czvf filename.tar dirname

步骤1:在/home/datawhale目录下在你英文昵称(中间不要有空格哦)的文件夹中,下载https://mirror.coggle.club/dataset/jaychou_lyrics.txt.zip

在任务8处完成,此处不再赘述。

步骤2:使用zip 压缩/home/datawhale目录下在你英文昵称(中间不要有空格哦)的文件夹。
Linux实践datawhale组队学习打卡笔记Task3_第8张图片

步骤3:步骤3:将 /home/datawhale目录下在你英文昵称(中间不要有空格哦)的文件夹,打包为tar格式。
Linux实践datawhale组队学习打卡笔记Task3_第9张图片
此处为将文件打包为tar,并未进行压缩。

步骤4:将 /home/datawhale目录下在你英文昵称(中间不要有空格哦)的文件夹,打包为tar.gz格式。
Linux实践datawhale组队学习打卡笔记Task3_第10张图片
完成操作后的文件
Linux实践datawhale组队学习打卡笔记Task3_第11张图片

任务10:使用find和locate定位文件

任务要点:文件搜索
Linux find 命令
Linux查找文件内容的常用方法

find 命令和 grep 命令区别

find 命令

find 命令用于在系统中搜索符合条件的文件名,如果需要模糊查询,则使用通配符进行匹配,通配符 是完全匹配(find 命令可以通过-regex 选项,把匹配规则转为正则表达式规则,但是不建议如此)。

grep 命令

grep 命令用于在文件中搜索符合条件的字符串,如果需要模糊查询,则使用正则表达式进行匹配,正则表达式是包含匹配。

步骤1:使用find统计文件系统中以py为后缀名的文件个数
在这里插入图片描述
步骤2:使用find寻找/home/文件夹下文件内容包含datawhale的文件
Linux实践datawhale组队学习打卡笔记Task3_第12张图片
步骤3:时候用locate寻找到python3.6.1.gz文件
在这里插入图片描述

小结

最后一次打卡,伴随任务的结束,本次对Linux的简单入门算是有了些头脑,感谢刘羽中大佬掏钱租用的本次组队学习使用的服务器。在后续我会用虚拟机在电脑上继续深耕Linux的内容的,谢谢ssh队长披头的督促学习。

你可能感兴趣的:(1,linux,运维,服务器)