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表示了