专注于快乐的事情

grep+find学习笔记

grep学习指南

grep -[acinv] ‘搜索内容串’ filename

参数

  • -a:表示以文本文件方式搜索。
  • -c:表示计算找到符合行的次数。
  • -i:表示忽略字母大小写。
  • -n:表示顺便输出行号。
  • -v:表示反向选择,即找到没有搜索字符串的行。

用法

搜索没有the的行,并输出行号
grep -nv 'the' regular_express.txt

find学习指南

find pathname -options [-print -exec -ok

例如:
find /opt/applications/ -name *.jar | grep ucs-memcached

pathname:是find命令所查找的目录路径。例如用符号.来表示当前目录,用/来表示系统根目录。

find命令选项

参数 说明
-name filename 查找名为filename的文件
-perm 按执行权限来查找
-user username 按文件属主来查找
-group groupname 按组来查找
-mtime -n +n 按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n 按文件访问时间来查GIN: 0px”>
-ctime -n +n 按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup 查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser 查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer f1 !f2 找文件,-n指n天以内,+n指n天以前
-ctime -n +n 按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup 查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser 查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer f1 !f2 查更改时间比f1新但比f2旧的文件
-type b/d/c/p/l/f 查是块设备、目录、字符设备、管道、符号链接、普通文件
-size n[c] 查长度为n块[或n字节]的文件
-depth 使查找在进入子目录前先行查找完本目录
-fstype 查更改时间比f1新但比f2旧的文件
-type b/d/c/p/l/f 查是块设备、目录、字符设备、管道、符号链接、普通文件
-size n[c] 查长度为n块[或n字节]的文件
-depth 使查找在进入子目录前先行查找完本目录
-fstype 查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount 查文件时不跨越文件系统mount点
-follow 如果遇到符号链接文件,就跟踪链接所指的文件
-cpio %; 查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount 查文件时不跨越文件系统mount点
-follow 如果遇到符号链接文件,就跟踪链接所指的文件
-cpio 对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune 忽略某个目录

-type 查找某一类型的文件

b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件

find应用范例

使用xargs

find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部

exec

exec来配合find查找
find . -type f -exec ls -l {} \;

删除目录中访问时间在7日以内且含有数字后缀的admin.log文件
find . -name “admin.log[0-9]” -atime -7 -exec rm {} \;

文件字符替换

find -type f ! -path '*/.svn/*' | xargs sed -i 's/netfinworks/klwork/g'

文件批量删除

find . -name .svn -print | xargs rm -rf

只要我们把find的输出作为xargs的输入,就必须将-print0与find结合使用,以字符null来分隔输出。

###用find匹配并列出所有的.txt文件,然后用xargs将这些文件删除

find . -type f -name “*.txt” -print0 | xargs -0 rm -f

###

find .|xargs grep -ri “iframe”

find -name “*.html” |xargs grep -ri “iframe”

参考

评论系统未开启,无法评论!