47期-第六周作业

1、查找/etc目录下大于1M且类型为普通文件的所有文件

find /etc -size +1M -a -type f

2、打包/etc/目录下面所有conf结尾的文件,压缩包名称为当天的时间,并拷贝到/usr/local/src目录备份。

find /etc -name "*.conf" -maxdepth 1 |xargs tar cvf `date +%F`.tar.gz {} \; && cp `date +%F`.tar.gz /usr/local/src/

3、利用sed 取出ifconfig命令中本机的IPv4地址

ifconfig eth0 | sed -nr "2s/^[^0-9]+([0-9.]+).*$/\1/p"

ifconfig eth0 |sed -n '2p' |sed 's/^.*inet //;s@ netmask.*$@@'

4、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符

sed -i '/^#/d' fstab

5、处理/etc/fstab路径,使用sed命令取出其目录名和基名

echo   /etc/sysconfig/network-scripts/  | sed -r 's@(^/.*/)([^/]+)/?$@\2@'   目录名  

echo   /etc/sysconfig/network-scripts/  | sed -r 's@(^/.*/)([^/]+)/?$@\1@'   基名

上面命令可以看到-r 使用扩展正则表达式

^/.*/ 这表示以/开头中间跟任意字符以/结尾的字符串

[^/]+ 这个就表示可能后/或者没有,如果不加就直接从/etc/sysconfig/network-scripts/ 匹配到最后了

/?$ 有可能后面有/也有可能没有 所以就用?表示/ 0个或者1个

然后用()分组,前面的就表示1  后面的是2,后面要取的时候就用1和2表示了

你可能感兴趣的:(47期-第六周作业)