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

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

Task3学习内容

在这里插入图片描述

学习资料

由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
在这里插入图片描述

#解压文件: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"参数相同

歌词中 包含【超人】的歌词
在这里插入图片描述

统计歌词中 包含【外婆】但不包含【期待】的歌词
在这里插入图片描述

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

统计歌词中 以【我】开头的歌词
在这里插入图片描述

统计歌词中 以【我】结尾的歌词
在这里插入图片描述

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

将歌词中 第2行 至 第40行 删除将歌词中 所有【我】替换成【你】
在这里插入图片描述

任务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目录下在你英文昵称(中间不要有空格哦)的文件夹。
在这里插入图片描述

步骤3:步骤3:将 /home/datawhale目录下在你英文昵称(中间不要有空格哦)的文件夹,打包为tar格式。
在这里插入图片描述
此处为将文件打包为tar,并未进行压缩。

步骤4:将 /home/datawhale目录下在你英文昵称(中间不要有空格哦)的文件夹,打包为tar.gz格式。
在这里插入图片描述
完成操作后的文件
在这里插入图片描述

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

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

find 命令和 grep 命令区别

find 命令

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

grep 命令

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

步骤1:使用find统计文件系统中以py为后缀名的文件个数
在这里插入图片描述
步骤2:使用find寻找/home/文件夹下文件内容包含datawhale的文件
在这里插入图片描述
步骤3:时候用locate寻找到python3.6.1.gz文件
在这里插入图片描述

小结

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值