sed练习题答案

答案不唯一有更好答案请留言

1、查找/var目录下属主为root,且属组为mail的所有文件
find /var -user root -group mail -ls
2、查找/var目录下不属于root、lp、gdm的所有文件
find /var -not \( -user root -o -user lp -o -user gdm \) -ls
3、查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件
find /var -atime -7 ! \( -user root -o -user postfix \) -ls
4、查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件
find /var \( -nouser -o -nogroup \) -atime -7 -ls
5、etc查找/etc目录下大于1M且类型为普通文件的所有文件
find /etc -type f -size 1024k
6、查找/etc目录下所有用户都没有写权限的文件
find /etc ! -perm +222 -ls
7、查找/etc目录下至少有一类用户没有执行权限的文件
find /etc ! -perm -111 -ls
8、查找/etc/init.d目录下,所有用户都有执行权限,且其它用户有写权限的文件
find /etc/init.d -perm -111 -a -perm -002 -ls
9、删除centos7系统/etc/grub2.cfg文件中所有以空白开头的行行首的空白字符
cat /etc/grub2.cfg |sed -r ‘s/^\ +(.*)/\1/’
10、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符
cat /etc/fstab |sed -r ‘s/^#\ ?(.*)/\1/’|sed ‘/^$/d’
11、在centos6系统/root/install.log每一行行首增加#号
cat /root/install.log |sed -r ‘s/^/#$/’
12、在/etc/fstab文件中不以#开头的行的行首增加#号
cat /etc/fstab |sed -r ‘s/[^#]/#$/’
13、处理/etc/fstab路径,使用sed命令取出其目录名和基名
echo “/etc/sysconfig/network-scripts/”|sed -r ‘s@(^/.*/)([^/]+/?)@\2@’取基名
14、利用sed 取出ifconfig命令中本机的IPv4地址
ifconfig |sed -n ‘2p’|sed -r ‘s/.*inet (.*) net.*/\1/
取两个网址ifconfig |grep ens -A1 |sed ‘/ens/d’|sed -r ‘s/.*inet (.*) net.*/\1/’
15、统计centos安装光盘中Package目录下的所有rpm文件的以.分隔倒数第二个字段的重复次数
ls /misc/cd/Packages|grep ‘.rpm$’ |sed -r ‘s/.*\.(.*)\.rpm/\1/’|sort|uniq -c
ls /misc/cd/Packages |rev|cut -d”.” -f2|sort|uniq -c
16、统计/etc/init.d/functions文件中每个单词的出现次数,并排序(用grep和sed两种方法分别实现)
cat /etc/init.d/functions |sed -r ‘s/[^[:alpha:]]+/\n/g’|sed ‘/^$/d’ |sort|uniq -c
cat /etc/init.d/functions |grep -o “[[:alpha:]]\{2,\}”|sort|uniq -c
17、将文本文件的n和n+1行合并为一行,n为奇数行
nl /etc/passwd |sed ‘N;s/\n//’

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95845

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code