find 命令和sed命令練習
阿新 • • 發佈:2018-02-28
出現 空白字符 find ini tool 內容修改 ifconf hover gpo
- 1、查找/var目錄下屬主為root,且屬組為mail的所有文件
- find /var/ -user root -group mail
- 2、查找/var目錄下不屬於root、lp、gdm的所有文件
- find /var -not \( -name root -a -name lp -a -name gdm \)
- 3、查找/var目錄下最近一周內其內容修改過,同時屬主不為root,也不是postfix的文件
- find /var -mtime -7 ! -user root ! -user postfix
- 4、查找當前系統上沒有屬主或屬組,且最近一個周內曾被訪問過的文件
- find / \( -nouser -o -nogroup \) -atime -7
- 5、查找/etc目錄下大於1M且類型為普通文件的所有文件
- find /etc/ -size +1M -type f
- 6、查找/etc目錄下所有用戶都沒有寫權限的文件
- find /etc ! -perm +222 -not -type l
- 7、查找/etc目錄下至少有一類用戶沒有執行權限的文件
- find /etc/ ! -perm 111 -type f
- 8、查找/etc/init.d目錄下,所有用戶都有執行權限,且其它用戶有寫權限的文件
- find /etc/init.d -perm -122 ! -type l
- 1、刪除centos7系統/etc/grub2.cfg文件中所有以空白開頭的行行首的空白字符
- sed -nr ‘s@^[[:blank:]]+@@g;p‘ ./grub2.cfg 修改文件 sed -ir ‘s@^[[:blank:]]+@@g‘ ./grub2.cfg
- 2、刪除/etc/fstab文件中所有以#開頭,後面至少跟一個空白字符的行的行首的#和空白字符
- sed -nr ‘s@^#[[:blank:]]+@@g;p‘ /etc/fstab 修改文件 sed -i ‘s@^#[[:blank:]]+@@g‘ /etc/fstab
- 3、在centos6系統/root/install.log每一行行首增加#號
- sed -nr ‘/^[^#]/s@^@#@g;p‘ /root/install.log 修改文件 sed -i ‘/^[^#]/s@^@#@g‘ /root/install.log
- 4、在/etc/fstab文件中不以#開頭的行的行首增加#號
- 5、處理/etc/fstab路徑,使用sed命令取出其目錄名和基名
- echo ‘/etc/fstab‘ | sed -nr ‘s@(.*/)(.*$)@\1@p‘ 目錄名
- echo ‘/etc/fstab‘ | sed -nr ‘s@(.*/)(.*$)@\2@p‘ 基名
- 6、利用sed 取出ifconfig命令中本機的IPv4地址
- ifconfig |sed -nr ‘2s@^[[:blank:]]+inet[[:blank:]](([0-9]{1,3}\.){3}[0-9]{1,3}).+@\1@p‘
- 7、統計centos安裝光盤中Package目錄下的所有rpm文件的以.分隔倒數第二個字段的重復次數
- ls /misc/cd/Packages/*.rpm |sed -r ‘s/.*\.(.+)\.rpm$/\1/‘ |sort |uniq -c
- 8、統計/etc/init.d/functions文件中每個單詞的出現次數,並排序(用grep和sed兩種方法分別實現)
- cat /etc/init.d/functions | grep -o "[[:alpha:]]\{1,\}" | sort | uniq -c | sort -rnk1
- cat /etc/init.d/functions | grep -Eo "[[:alpha:]]+" | sort | uniq -c | sort -rnk1
- sed -r "s@[^[:alpha:]]+@\n@g" /etc/init.d/functions | sort | uniq -c | sed 1d | sort -rnk1
- sed ‘s/[^[:alpha:]]/\n/g‘ /etc/init.d/functions |sed ‘/^$/d‘ |sort |uniq -c
find 命令和sed命令練習