Linux四剑客find、sed、grep、awk教程

find:查找文件

find /path/ -name "filename"        在path路径及其子目录内查找filename

 

find /path/ -name "filename" -type f        查找类型过滤:f-文件,d-目录

 

find /path/ -name "filename"  -mtime -1        查找过滤一天以内的文件, “-”为以内,“+”为以前

 

find /path/ -name "filename"  -mtime -1 | xargs rm -rf {} \;        xargs与管道“|”一起用,用于承接,将管道前面的语句放入 { } 中,进行删除, {} \; 为find命令结束语句。

 

find /path/ -name "filename" -type f  -mtime +30 -size +10k        查找过滤大于10k的文件, k(kb) 必须小写, M(Mb) 必须大写

 

find /path/ -name "filename" -type f  -mtime +30 -size +10k  -perm 755        查找过滤权限为755的文件

 

查找文件,并将文件统一修改权限为644:

find . -type f -exec chmod -R 644 {} \;        R为可继承,子目录文件也会被修改

 

查找目录,并将目录统一修改权限为755:

find . -type d -exec chmod -R 755 {} \;        

 

查找文件,文件名为 .log 格式,时间在30天之前的文件,并进行删除:

find . -type -f -name "*.log" -mtime +30 -exec rm -rf {} \;        -exec与 | xargs 作用相同。

 

grep:查找文件内容

 

grep "root" filename        查找passwd文件内的root

 

grep --color "root" filename        给关键字上色

 

grep  -n --color "^root" filename        -n:显示行号。查找以root开头的文件内容

 

grep -n --color "root$" filename        查找以root结尾的文件内容

 

grep -v "#"  filename        -v:取反。查找不含#的文件内容

 

grep -v "#" filename | grep -v "^$"        筛出文件内的空行:以空行开头,以空行结尾

 

grep "[0-9]" filename        匹配文件内容含0~9数字的内容

 

grep --color "[0-9][0-9]" filename        匹配文件内连续两个数字,并标记

 

grep --color "[0-9]{1,3\}" filename        匹配1~3次。格式:{num1,num2\}

 

当需要匹配IP地址时,注意“.” 在shell中需要加 “\” 转义:

grep --color "[0-9]{1,3\}\." filename        匹配诸如 192.168.0.1 一类的文本。

 

egrep的使用:

egrep --color "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" filename        这样就可以匹配IP地址了。注意最后是以数字结尾。

 

简化版:

egrep --color "([0-9]{1,3}\.){3}[0-9]{1,3}$" filename

 

awk:

 

 

 

awk '{print NF}' filename        打印最后一列

 

awk -F: '{print $1}' filename        -F格式化,将 “:”筛除

 

“”:双引号在awk中表示添加文本,在{print}中可以随意添加。

 

``:反引号,在反引号中的可以当做命令。

可用于企业更改主机名,自动匹配:hostname `xxxxxxxxxxxxxxxxxxx`

 

 

sed:

 

sed 's/xxxxxxxxxxxxxxxx' filename        替换文件中的文本

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值