-
统计/etc/passwd文件里的bash字符串数量:
grep bash /etc/passwd | wc -l grep -c bash /etc/passwd
grep 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 -6
sort -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 -nr
awk '{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的简单使用
最新推荐文章于 2024-09-12 20:58:18 发布