面试:文本处理之grep练习

1、定义一个对所有用户都生效的别名,例如:lftp='lftp  172.168.0.1/pub'.

1     ~]# vim /etc/bashrc
2      在后面加入
3     alias lftp='lftp  172.168.0.1/pub'
4     保存退出:
5     ~]# source /etc/bashrc

2、显示/etc/passwd文件中包含两位或三位数字的行。

1 ~]# cat /etc/passwd | grep -E "\<([0-9]{2}|[0-9]{3})\>"

3、找出/etc/passwd文件中不以/bin/bash结尾的行。

1 ~]# grep -Ewv "/bin/bash" /etc/passwd

4、显示/proc/meminfo文件中以大写或小写s 开头的行;用三种方式实现。

1  ~]# grep -E "^(s|S)" /proc/meminfo
2  ~]# grep -E "^[sS]" /proc/meminfo
3  ~]# grep -Ei "^s" /proc/meminfo

5、使用echo输出一个绝对路径,使用egrep取出路径名,类型执行dirname /etc/paswwd的结果。

1 ~]# echo /etc/passwd | grep -E -o '.*/\<'

6、找出ifconfig的IP地址。要求结果只显示IP地址。

1 ifconfig  | grep -Eo "(\<([0-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>.){3}\<([0-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>"

7、vim定制自动缩进四个字符。

1 编辑/etc/vimrc
2     在后面添加:set smartindent
3             set tabstop=4
4             set shiftwidth=4
5             set expandtab
6             set softtabstop=4

8、编写脚本,实现自动添加三个用户,并计算这三个用户的UID之和。

 1 1、在脚本目录下创建userlist.txt文件编辑要添加的三个用户            
 2 2、编写脚本useradd.sh
 3             #!/bin/bash
 4             #添加三个用户,实现UID之和
 5             #
 6             SUM=0
 7             for i in $(cat userlist.txt)
 8                 do
 9                     useradd $i
10                     echo $i | passwd --stdin $i
11                 done
12             for j in $(tail -3 /etc/passwd | cut -d":" -f3)
13                 do
14                     sum=$[$sum+$j]
15                 done
16             echo "sum of user id:$sum"

 

posted @ 2019-03-07 17:26  打铁李  阅读(487)  评论(0编辑  收藏  举报