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


目录
相关文章
|
12月前
|
Ubuntu 大数据 Linux
进入Linux的世界
进入Linux的世界
|
2月前
|
Linux
linux
linux关机重启 登录注销 shutdown -h now 立刻关机 shutdown -h 1 一分钟后重启 shutdown -r now 重启计算机 halt 关机 reboot 重启计算机 sync 内存数据同步到磁盘 su - 用户名 切换管理
|
5月前
|
Unix Java Linux
Linux介绍篇
Linux介绍篇
|
Linux 开发工具 网络协议
定制Linux
tar -xzvf linux-major-minor-VERSION.tar.gz -C /usr/src cd /usr/src ln -sv linux-major-minor-VERSION linux make allnoconfig make menuconfig 在此处配置的信息: 1.
1025 0
|
Linux
linux下DUCKDNS
版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396558 参考:https://www.youtube.com/watch?v=TyqbetLXwcY 登录https://www.duckdns.org选择你的域名,然后看官方文档。
1577 0
|
Linux
linux中的~ / .
~代表你的/home/用户目录 假设你的用户名是xxx,那么~/ = /home/xxx/ .是代表此目录本身,但是一般可以不写 所以cd ~/. = cd ~ = cd ~/ 但是.后面有东西又是另外一个问题,点在文件名头部,代表一个[隐藏文件] ~/.local是你的主目录下一个.local的文件夹的路径, 并且从.可以看出,这是一个饮藏文件, 如果不用ls -a的话,一般ls是无法看到的 / 是目录层的分隔、表示符。
1149 0
|
Ubuntu Linux Shell
|
Unix 测试技术 Linux
|
存储 Unix Linux