layout: post
title: find 命令和sed命令练习
date: 2017-11-30
tags: [“Linux”,”字符处理和文件查找”]
- 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:]{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
文档更新时间: 2018-12-13 17:48 作者:张尚