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

(1)
天策天策
上一篇 2018-04-13 17:26
下一篇 2018-04-13 19:57

相关推荐

  • Linux系统总结——命令篇

    主分区:1-4一块硬盘最多4个,不可分小区 可以用来启动OS(系统分区)

    扩展分区:1-4一块硬盘做多只有一个,+主分区最多4个,不能创建文件系统,可以创建逻辑分区。

    逻辑驱动器(分区):可以创建文件系统,存放数据。

    2018-03-28
  • linux基础(一)

    一些运维的基本命令和作用。

    Linux笔记 2018-04-01
  • 7月2日~7月8日作业

    1、列出当前系统上所有已经登入的用户的用户名,注意:同一个用户登入多次,则只显示一次即可。 ~]# who | cut -d  ‘  ’   -f1  |  sort  -u 2、取出最后登入到当前系统的用户的相关信息。 3、取出当前系统上被用户当作默认shell的最多的那个shell. 4、将/etc/passwd中的第三个字段数值最大的后10个用户信息全…

    2018-07-07
  • 变量的理解

    有点绕多动动手就好了

    Linux笔记 2018-04-15
  • 网络基本概念及OSI参考模型、TCP/IP协议简介

    当今时代,运行一台没有连接网络的计算机几乎是难以想象的,幸运的是,Linux从一开始就是为网络开发的,并且网络也是Linux做的最好的事情之一。掌握网络知识,对于Linux学习而言,就显得非常有必要了。本节我们将带大家了解一些网络的基本概念,以及OSI参考模型和TCP/IP协议。

    2018-05-02