5、文件查找與壓縮、文本處理工具sed

1、查找/etc目錄下大于1M且類型為普通文件的所有文件

find /etc/ -size +1M -type f | xargs ls -lSh

結(jié)果:

[root@centos7 etc]# find /etc/ -size +1M -type f | xargs ls -lSh
-r--r--r--. 1 root root 8.0M Feb 21 15:40 /etc/udev/hwdb.bin
-rw-------. 1 root root 3.7M Feb 21 15:33 /etc/selinux/targeted/active/policy.kern
-rw-------. 1 root root 3.7M Feb 21 15:33 /etc/selinux/targeted/active/policy.linked
-rw-r--r--. 1 root root 3.7M Feb 21 15:33 /etc/selinux/targeted/policy/policy.31
-rw-r--r--. 1 root root 1.4M Feb 21 15:33 /etc/selinux/targeted/contexts/files/file_contexts.bin
-rw-r--r--. 1 root root 1.4M Apr 11  2018 /etc/brltty/zh-tw.ctb

2、打包/etc/目錄下面所有conf結(jié)尾的文件,壓縮包名稱為當天的時間,并拷貝到/usr/local/src目錄備份。

find /etc/ -type f -name "*.conf"|xargs tar -cvf /usr/local/src/`date +%F`.tar

結(jié)果:

[root@centos7 data]# ll /usr/local/src/
total 1660
-rw-r--r-- 1 root root 1699840 May 13 21:19 2020-05-13.tar

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

ifconfig ens33|sed -n '2p'|sed -r 's/.*inet (.*) netmask.*/\1/'

結(jié)果:

[root@centos7 data]# ifconfig ens33|sed -n '2p'|sed -r 's/.*inet (.*) netmask.*/\1/'
192.168.45.128 

4、刪除/etc/fstab文件中所有以#開頭,后面至少跟一個空白字符的行的行首的#和空白字符

sed -ri 's/^# +(.*)/\1/g' /etc/fstab

結(jié)果:

執(zhí)行前:

[root@centos7 data]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Fri Feb 21 14:57:19 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=8ef35ceb-2f89-4210-958a-00446c776bb7 /                       xfs     defaults        0 0
UUID=05813723-0404-4ec7-9c83-6235212a4ff8 /boot                   xfs     defaults        0 0
UUID=4b0e9cd7-c239-4a9c-8da7-a244bb39b492 /data                   xfs     defaults        0 0
UUID=226e7fb5-19e8-45b2-aa9e-5d289e6b899d swap                    swap    defaults        0 0

執(zhí)行:

[root@centos7 data]# sed -ri 's/^# +(.*)/\1/g' /etc/fstab

執(zhí)行后:

[root@centos7 data]# cat /etc/fstab

#
/etc/fstab
Created by anaconda on Fri Feb 21 14:57:19 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=8ef35ceb-2f89-4210-958a-00446c776bb7 /                       xfs     defaults        0 0
UUID=05813723-0404-4ec7-9c83-6235212a4ff8 /boot                   xfs     defaults        0 0
UUID=4b0e9cd7-c239-4a9c-8da7-a244bb39b492 /data                   xfs     defaults        0 0
UUID=226e7fb5-19e8-45b2-aa9e-5d289e6b899d swap                    swap    defaults        0 0

5、處理/etc/fstab路徑,使用sed命令取出其目錄名和基名
獲取目錄名:

echo "/etc/fstab"|sed -r 's/(.*)\/(.*)/\1/'

獲取基名:

echo "/etc/fstab"|sed -r 's/(.*)\/(.*)/\2/'
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容