Linux find 、sed命令使用实例

  1. 查找/etc目录下大于1M且类型为普通文件的所有文件
~]# find /etc/ -type f -a -size +1M -exec ls -lh {} \;
-rw-r--r-- 1 root root 8.1M Feb 13  2019 /etc/selinux/targeted/policy/policy.31
-r--r--r-- 1 root root 8.9M Oct 16 18:21 /etc/udev/hwdb.bin
  1. 打包/etc/目录下面所有conf结尾的文件,压缩包名称为当天的时间,并拷贝到/usr/local/src目录备份。
~]# find /etc/ -name '*.conf' | xargs tar -czvPf /usr/local/src/$(date +%F).tar.gz
  1. 利用sed 取出ifconfig命令中本机的IPv4地址
~]# ifconfig ens33 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.240.129  netmask 255.255.255.0  broadcast 192.168.240.255
        inet6 fe80::f0c9:72b7:9c01:6f92  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:12:7b:bd  txqueuelen 1000  (Ethernet)
        RX packets 8362  bytes 4323703 (4.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5388  bytes 1025617 (1001.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

~]# ifconfig ens33 |  grep "netmask" 
        inet 192.168.240.129  netmask 255.255.255.0  broadcast 192.168.240.255

~]# ifconfig ens33 |  grep "netmask" | awk '{print $2}'
192.168.240.129
  1. 删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符
~]$ sed 's/^# //' /etc/fstab
  1. 处理/etc/fstab路径,使用sed命令取出其目录名和基名
~]# echo /etc/fstab | sed 's/\/etc\///'
fstab

~]# echo /etc/fstab | sed 's/fstab//'  
/etc/
  1. 查看文件中间一段,你可以使用sed命令,例如截取文件的第100到200行:
~]# sed -n '100,200p' filename 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容