五、Linux文件查找、压缩与sed命令

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

[root@localhost ~]#find /etc/ -size +1M -a -type f|xargs ls -alh
-rw-------. 1 root root 3.8M Nov  3  2018 /etc/selinux/targeted/active/policy.kern
-rw-r--r--. 1 root root 1.4M Nov  3  2018 /etc/selinux/targeted/contexts/files/file_contexts.bin
-rw-r--r--. 1 root root 3.8M Nov  3  2018 /etc/selinux/targeted/policy/policy.31
-r--r--r--. 1 root root 7.6M Aug  3 17:14 /etc/udev/hwdb.bin

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

[root@localhost /data]#find /etc/ -name "*.conf"|xargs tar -cpvf /usr/local/src/`date +%Y%m%d`.tgz
[root@localhost /data]#ll /usr/local/src/
total 432
-rw-r--r-- 1 root root 440320 Aug 31 13:46 20200831.tgz

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

[root@localhost /data]#ifconfig ens33|sed -nr '2s/(^[^0-9]+)([0-9.]+)( .*$)/\2/p'
10.50.100.12
[root@localhost /data]#ifconfig ens33|sed -nr '2s/^[^0-9]+([0-9.]+) .*$/\1/p'
10.50.100.12

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

[root@localhost ~]#sed -r 's@^#[[:space:]]+(.*)@\1@' /etc/fstab 

#
/etc/fstab
Created by anaconda on Mon Aug  3 17:02:43 2020
#
Accessible filesystems, by reference, are maintained under '/dev/disk'
See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=71b66acd-688f-45df-8d45-1d3cf606820f /                       xfs     defaults        0 0
UUID=1890737d-134e-49aa-a764-569a2bd251d8 /boot                   xfs     defaults        0 0
UUID=82c012a2-3f30-4649-ac90-e9896c20f829 /data                   xfs     defaults        0 0
UUID=87716ee2-fda6-41e2-9d46-4d42bd7bb257 swap                    swap    defaults        0 0

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

[root@localhost ~]#echo "etc/fstab"|sed -r 's@(.*)\/.+@\1@'
etc
[root@localhost ~]#echo "etc/fstab"|sed -r 's@.*\/(.+)@\1@'
fstab
posted @ 2020-09-07 13:54  人生值得  阅读(327)  评论(0编辑  收藏  举报