find

date: 2023-11-16 update slug: find key: Linux,find,shell,bash ref: https://www.zhihu.com/question/530649482/answer/2926090883 cover:

find的使用格式如下:

find <指定目录> <指定条件> <指定动作>

如何按名称搜索文件

# 查找文件 (通配符)
find . -type f -name "*.sam"

# 查找文件 (指定文件名)
find . -type f -name "foo.gz"

查找 + 操作

# 查找文件并压缩文件
find . -type f -name "*.sam" | xargs pigz -p 24

# 查找文件并统计大小
find . -type f -name "*.sam.gz"|xargs du -s|awk '{print $1}'|awk '{sum1+= $1}END{print sum1}'

# 搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。
find . -name 'my*'

# 搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。
find . -name 'my*' -ls

# 搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。
find . -type f -mmin -10

find awk “bmat” 汇总

find . -type f -name "*.bmat" | awk '{printf "cp "$0" "; sub(/./, "bmat"); gsub(/\//, "_"); sub(/_/, "/"); print $0 }' | sh