Linux三剑客案例练习合集

1、找出/proc/meminfo文件中以s开头的行,至少用三种方式忽略大小写#

grep -i '^s' /proc/meminfo
grep  '^[sS]' /proc/meminfo
sed -rn '/^[sS]/p' /proc/meminfo
awk '/^[sS]/{print $0}' /proc/meminfo

2、显示当前系统上的root,centos或者user的信息#

grep -rE '^(root|centos|user)' /etc/

3、找出/etc/init.d/functions文件下包含小括号的行#

awk '/\(|\)/{print $0}' /etc/init.d/functions
grep -E '\(|\)' /etc/init.d/functions

4、输出指定目录的基名#

pwd | awk -F/ '{print $NF}'

5、找出网卡信息中包含的数字#

grep -oE '[0-9]+' /etc/sysconfig/network-scripts/ifcfg-eth[01]

6、找出/etc/passwd下每种解析器的用户个数#

awk -F: '{arr[$NF]++}END{for(i in arr){print i,arr[i]}}' /etc/passwd

7、过滤网卡中的ip,用三种方式实现#

grep -oE '((2[0-4][0-9]|25[0-5]|[01]?[0-9]{1,2})\.){3}(2[0-4][0-9]|25[0-5]|[01]?[0-9]{1,2})' /etc/sysconfig/network-scripts/ifcfg-eth[01]

sed -nr '/((2[0-4][0-9]|25[0-5]|[01]?[0-9]{1,2})\.){3}(2[0-4][0-9]|25[0-5]|[01]?[0-9]{1,2})/p' /etc/sysconfig/network-scripts/ifcfg-eth[01] | awk -F= '{print $NF}'

awk -F'=' '/((2[0-4][0-9]|25[0-5]|[01]?[0-9]{1,2})\.){3}(2[0-4][0-9]|25[0-5]|[01]?[0-9]{1,2})/{print $2}' /etc/sysconfig/network-scripts/ifcfg-eth[01]

8、搜索/etc目录下,所有的.html或.conf文件中main函数出现的次数#

grep -roE 'main' `find /etc/ -name "*.html" -o -name "*.conf" | xargs ` | wc -l

9、过滤php.ini中注释的行和空行#

yum install php php-devel -y
grep -E '\ *;|^$' /etc/php.ini

10、找出文件中至少有一个空格的行#

grep -E '\ +' [文件信息]
sed -nr '/ +/p' [文件信息]

11、过滤文件中以#开头的行,后面至少有一个空格#

grep -E '^#\ +' [文件信息]

12、查询出/etc目录下包含多少个root#

grep -roE 'root' /etc/ | wc -l

13、查询4出所有的qq邮箱#

grep -E '[0-9a-zA-Z-_]+@qq\.com' [文件信息]

14、查询系统日志中所有的error#

grep -E 'error' /var/log/messages

15、删除某文件中以s开头的行的最后一个词#

grep -E '^s' [文件信息] | sed -r 's/[0-9a-zA-Z]+$//g'
egrep '^s' [文件信息] |sed -r 's/[a-zA-Z0-9]+$//g'

16、删除一个文件中的所有数字#

sed -r 's/[0-9]//g' [文件信息]

17、显示奇数行#

awk 'NR % 2 ==1 {print $0}' [文件信息]

18、删除passwd文件中以bin开头的行到nobody开头的行#

sed -r '/^bin/,/^nobody/d' /etc/passwd

19、从指定行开始,每隔两行显示一次空行#

awk '{n=指定行数;if(NR<=n){print $0}else{if((NR-n)%2==0){print ""}; print $0}}' /etc/passwd

20、每隔5行打印一个空格#

awk '{if(NR % 5==0){print $0,"\n "}else{print $0}}' [文件信息]

21、不显示指定字符的行#

 awk '{if($0 !~/指定字符/){print $0}}' [文件信息] 
 grep -vE 'g' [文件信息]

22、将文件中1到5行中aaa替换成AAA#

sed -r '1,5s/aaa/AAA/g' [文件信息]

23、显示用户id为奇数的行#

awk -F: '$3 % 2 == 1 {print $0}' /etc/passwd

24、显示系统普通用户,并打印系统用户名和id#

awk -F: '$3 >= 1000{print $1, $3}' /etc/passwd

25、统计php.ini中每个词的个数#

grep -oE '[0-9a-zA-Z]+' /etc/php.ini | awk '{arr[$1]++}END{for(i in arr){printf "%-15scount:%-5d\n", i, arr[i]}}'
posted @   JZEason  阅读(201)  评论(1编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
主题色彩
点击右上角即可分享
微信分享提示