1、显示/etc/passwd文件中以bash结尾的行;
grep "bash$" /etc/passwd
2、找出/etc/passwd文件中的三位或四位数;
grep -E '\b[0-9]{3,4}\b' /etc/passwd
3、找出/etc/grub2.cfg文件中,以至少一个空白字符开头,后面又跟了非空白字符的行
grep -E '^[[:space:]]+[[:graph:]]' /etc/grub2.cfg
4、找出"netstat ?-tan”命令的结果中,以‘LISTEN’后跟0或多个空白字符结尾的行;
netstat -tan | grep -E 'LISTEN[[:space:]]*$'
5、找出"fdisk ?-l“命令的结果中,包含以/dev/后跟sd或hd及一个字母的行;
fdisk -l | grep -E '/dev/(sd|hd)[a-z]'
6、找出”ldd ?/usr/bin/cat“命令的结果中文件路径;
ldd /usr/bin/cat | grep -oE '/[^ ]+'
7、找出/proc/meminfo文件中,所有以大写或小写s开头的行;至少用三种方式实现;
grep -i '^s' /proc/meminfo
grep '^[sS]' /proc/meminfo
egrep '^[sS]' /proc/meminfo
8、显示当前系统上root、centos或spark用户的相关信息;
grep -E '^(root|centos|spark):' /etc/passwd
9、echo输出一个绝对路径,使用egrep取出其基名;
path="/some/absolute/path/file.txt"
echo "$path" | egrep -o '[^/]+$'
10、找出ifconfig命令结果中的1-255之间的整数;
ifconfig | grep -oP '(?<=inet addr:)[1-9][0-9]{0,2}(?=\.)'
11、找出系统中其用户名与shell名相同的用户。
awk -F: '$1 == $7 {print $1}' /etc/passwd