-
统计/etc/passwd文件里的bash字符串数量:
grep bash /etc/passwd | wc -l grep -c bash /etc/passwdgrep bash /etc/passwd | wc -l:通过grep查找包含bash的行,然后用wc -l统计行数。grep -c bash /etc/passwd:grep的-c选项直接统计匹配行的数量。
-
基于GID排序/etc/passwd文件:
sort -k 4 -t ":" -n /etc/passwd | head -6sort -k 4 -t ":" -n /etc/passwd | head -6:使用sort命令的-k选项指定排序的列(第4列,即GID),-t指定列分隔符为:,-n表示按数字排序,最后head -6取前6行。
-
输出UID大于1000的用户信息:
#!/bin/bash while IFS=":" read username x uid gid others do if (( $uid > 1000 ));then echo "username: $username uid: $uid gid: $gid" fi done </etc/passwd#!/bin/bash #while IFS=":" read username x uid gid others cat /etc/passwd|awk -F: '{print $1,$3,$4}'|while read username uid gid do if (( $uid > 1000 ));then echo "username: $username uid: $uid gid: $gid" fi done- 使用
awk或while read循环都可以实现。awk方法更简洁,而while read方法提供了更多的灵活性,可以在循环内部执行更复杂的逻辑。
-
统计access.log中每个IP地址的出现次数:
awk '{print $1}' access.log | sort | uniq -c | sort -nrawk '{print $1}' access.log | sort | uniq -c | sort -nr:先用awk提取每行的第一个字段(IP地址),然后排序、去重并计数,最后按数字降序排序。
-
截取出根分区(/)的使用率:
df | grep "/$" | awk '{print $5}' | tr -d "%"df | grep "/$" | awk '{print $5}' | tr -d "%":先用df查看磁盘使用情况,然后用grep找到根分区(/)的行,再用awk提取使用率字段,最后用tr删除百分号
grep/sort/awk的简单使用
最新推荐文章于 2025-10-20 20:02:30 发布
555

被折叠的 条评论
为什么被折叠?



