find、grep、awk、sed

find

find / -name *.txt -type f -mtime -1     #查找创建时间在一天之内名字为.txt结尾的文件
find / -name han -type d -mtime +30      #查找创建时间在三十天之前名为han的文件夹
find /  -name *.txt -type f -mtime -1 -size -5M -perm 644   #查找创建时间在一天之内大小小于5M的权限为644的文件
find . -type f -exec chmod -R 644 {} \;  #将当前目录的所有文件的权限改为644
find . -type d -exec chmod -R 755 {} \;  #将当前目录的所有文件夹的权限改为755
find / -type f -name "*.log" -mtime +30 -exec rm -rf {} \;  #删除三十天之前的日志

grep

grep -v "#" /boot/grub2/grub.cfg  | grep -v "^$"                   #去掉#号和空格
egrep "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" han.txt  #查看IP的格式是否正确
cat han.txt                                                       #han.txt的内容
this is my hankunfa
192.168.100.100
192.168.3000.50
10.10.10.1
1952.168.150.1.5

awk

awk '{print $1}' han.txt                                   #打印第一列
awk '{print $2}' han.txt                                   #打印第二列
awk '{print $NF}' han.txt                                  #打印最后列
awk '{print $(NF-1)}' han.txt                              #打印倒数第二列
awk -F ":" '{print $1,$NF}' /etc/passwd | head -5          #打印第一列和最后一列显示前五行
ifconfig | grep broadcast | awk '{print $2}' | awk -F "." '{print $1"-"$2"-"$3"-"$4}'    #提取IP地址
ifconfig | grep broadcast | awk '{print $2}' | awk -F "." '{print "BJ-WEB-"$1"-"$2"-"$3"-"$4".fafa.com"}' 
hostname `ifconfig | grep broadcast | awk '{print $2}' | awk -F "." '{print "BJ-WEB-"$1"-"$2"-"$3"-"$4".fafa.com"}'`                                                      #自动匹配修改主机名

sed

sed s/hankunfa/fafa/g han.txt     #查找替换(不修改)
sed -i s/hankunfa/fafa/g han.txt  #查找替换(修改) 

猜你喜欢

转载自blog.csdn.net/hankunfa/article/details/80558652