awk-find-grep-sed的用法和内容

发布于 2022-05-11  58 次阅读


1.grep/egrep

1.1概述

grep主要用于过滤,在文件中找出需要或者不需要的内容,支持基础正则表达式,egrep同样可以用于过滤,但是egrep还支持特殊的正则表达式


1.2使用方法

grep -i 不区分大小写过滤

grep -n 显示行号

grep -v 取反


1.3例子

(1) grep -i 'error' /var/log/message.log (一般-i -n可以一起使用)

(2) grep -v 'error' /var/log/message.log (取出不包括error的内容,同样可以和-i -n 一起使用)

(3) grep 与正则表达式使用 grep -v '^$' /etc/backup/set.conf (排除这个文件的空行)

(4) egrep 与特殊正则表达式使用,使用管道举例: egrep -v '#|^$' ......

2.find

find -type 类型: f 文件, d 目录

find -name 类型: 指定文件名,默认精确匹配,加上*模糊匹配

find -size 类型: 指定大小,+100M -100k

find -mtime 类型: 根据修改时间查找: +3表示三天之前的

-maxdepth 指定层数(最大层数)


2.2例子

(1)找出/etc/目录下面以.conf结尾的文件

find /etc/ -type f -name '*.conf'

(2)例:找出/bin/ /sbin/ 下包含ip的文件 ,如需要不区分内容大小写则用iname

find /bin/sbin/ -type f -iname '*ip*'

(3)例:找出/etc/下以.conf结尾且文件大于3k的文件

find /etc/ -type f -name '*.conf' -size +3k

(4)例:找出/etc/下以.conf结尾且文件是三天之前的

find /etc/ -type f -name '*.conf' -mtime +3


2.3find还可以与其他命令结合使用

(1)find 与 rm 结合使用

find /backup/ -type f -name 'setting.conf' | xargs rm -r

rm -r `find /backup/ -type f -name 'setting.conf'`

find /backup/ -type f -name 'setting.conf' -exec rm -r {} \;

(2)find 与 tar 结合使用

find /etc/ -type f -name 'set.conf' | xargs tar zcf /backup/etc.tar.gz

tar zcf /backup/etc.tar.gz `find /etc/ -type f -name 'set.conf'`

find /etc/ -type f -name 'set.conf' -exec tar zcf /backup/etc.tar.gz {} \;

#这个打包方式只会在解压包里存在一个文件内容,所以我们需要用到 + 符号,先执行前面的命令,再全部传入

find /etc/ -type f -name 'set.conf' -exec tar zcf /backup/etc.tar.gz {} +


find 还可以cp/mv 等命令结合使用.....

3.awk

4.sed

曾许人间第一流
最后更新于 2024-08-07