Linux三剑客(下)

简介: Linux三剑客(下)

Linux三剑客(上)+https://developer.aliyun.com/article/1623586

2.2、找出所有以m开头的行

[root@1-VM00013 data]# grep -i -n '^m' luffy.txt
7:my name is linghu

2.3、输出所有以m开头的行

[root@1-VM00013 data]# grep -i -n '^m' luffy.txt |grep -i -n '.*
1:7:maybe
2:9:my boy is you
3:11:my name is linghu

2.4输出所有以i开头的行

[root@1-VM00013 data]# grep -i -n '^i' luffy.txt |grep -i -n '.*
1:1:I am linghu
2:3:I teach linux
3:5:i like python

2.5找出所有允许登录的用户,解释器是/bin/bash的行

[root@1-VM00013 data]# cat /etc/passwd > ./pwd.txt
[root@1-VM00013 data]# grep -n "/bin/bash$" pwd.txt
1:root:x:0:0:root:/root:/bin/bash
41:zshield:x:1000:1000:zshield:/home/zshield:/bin/bash
44:testlinghu:x:94619:94619::/home/testlinghu:/bin/bash
##只输出匹配的内容
[root@1-VM00013 data]# grep -n "/bin/bash$" pwd.txt -o
1:/bin/bash
41:/bin/bash
44:/bin/bash
##找出s匹配的内容
[root@1-VM00013 data]# grep ".s" luffy.txt 
my boy is you
my name is linghu
#zhushi bu huai bei du qu
[root@1-VM00013 data]#

  • sed:文本编辑工具
  • awk:文本报告生成器

三、sed与正则表达式

sed对文件实现快速的增删改查,模式匹配。

3.1、输出文件第二行、第三行

[root@1-VM00013 data]# sed "2,3p" luffy.txt -n
I teach linux

3.2、过滤出含有“Linux”字样的文本

[root@1-VM00013 data]# sed "/linux/p" luffy.txt -n
I teach linux

3.3、删除含有game的行

[root@1-VM00013 data]# sed "/game/d" luffy.txt -i

3.4、全局替换,将my换成i

[root@1-VM00013 data]# sed "s/My/I/g" luffy.txt -i

四、sed配合正则表达式企业案例

4.1、取出linux的ip地址【去头去尾】

上图,通过三个管道符对命令进行过滤。

五、Linux三剑客awk

awk适合处理匹配到的文本。

awk更像是一门编程语言,支持条件判断、数组、循环等功能。

一、
  用awk '{printf $0}' change.txt可以打印chage.txt所有的数据
  
二、
  用awk '{printf $1$2}' change.txt可以打印第一列和第二列的数据(可以加逗号)
  用awk '{printf "第一列:"$1,"第二列:"$2,"第三列:"$3}' change.txt

5.1、显示文件第五行

5.2、输出第一行到第三行

5.2、利用awk取出ip地址信息

5.3、awk做分隔

首先看一下测试文件pwd.txt里的用户:

我们来做一个分隔,分割出第一列用户信息:

5.4、awk变量

一、自定义变量

[root@1-VM00013 data]# awk -v myname="令狐" 'BEGIN{print "我的名字是:",myname}'
我的名字是: 令狐

二、变量赋值

[root@1-VM00013 data]# myname="令狐荣豪"
[root@1-VM00013 data]# echo $myname
令狐荣豪
[root@1-VM00013 data]# awk -v awk_name=$myname 'BEGIN{print awk_name}'
令狐荣豪

5.5、awk模式pattern

六、at与mailx命令

6.1、linux定时任务

[root@1-VM00013 ~]# at now+1min
at> touch /tmp/linghu.txt
at> <EOT>
job 1 at Fri Apr 29 14:21:00 2022


目录
相关文章
|
3天前
|
Linux
Linux
linux关机重启 登录注销 shutdown -h now 立刻关机 shutdown -h 1 一分钟后重启 shutdown -r now 重启计算机 halt 关机 reboot 重启计算机 sync 内存数据同步到磁盘 linux关机重启 登录注销
|
2月前
|
Linux
linux
linux关机重启 登录注销 shutdown -h now 立刻关机 shutdown -h 1 一分钟后重启 shutdown -r now 重启计算机 halt 关机 reboot 重启计算机 sync 内存数据同步到磁盘 su - 用户名 切换管理
|
Shell Linux
linux more
more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。
750 0
|
Linux Perl
Linux三剑客
awk image.png image.png BEGIN块 image.png awk 'BEGIN{a=11;if(a>=9){print "ok"}}' image.
1223 0
|
安全 应用服务中间件 Linux
你需要知道的Linux安全
1. 账号以及密码一定要复杂,密码需要符合这些规范:字符大于 10 个;至少包含大小写以及数字;密码中不能包含账号,不能包含自己的姓名全拼,不能有自己的生日数字,不能有自己的电话号码;密码要定期更换;不能把密码保存在记事本等文档中要用专业的存密码的软件保存。
1319 0
|
Linux
linux|管道符号
|管道符是什么:把前一个命令的输出结果输出给下一个命令使用。 为什么有管道符:对结果进行过滤。 使用方法: image.png 总结: image.png
968 0
|
安全 Linux 网络安全
|
Linux 数据安全/隐私保护 Shell