Linux命令中如何使用find和xargs

在Linux系统中,find和xargs是两个非常实用的命令,它们可以帮助我们查找和处理文件,本文将详细介绍如何在Linux命令中使用find和xargs。

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了遂平免费建站欢迎大家使用!

find命令

find命令用于在目录树中查找文件,可以根据各种条件进行搜索,它的基本语法如下:

find [路径] [表达式]

[路径]是要搜索的目录,[表达式]是搜索条件。

1、基本搜索

要查找当前目录下的所有文件和文件夹,可以使用以下命令:

find .

2、根据名称搜索

要查找名为file.txt的文件,可以使用以下命令:

find . -name file.txt

3、根据大小搜索

要查找大于1MB的文件,可以使用以下命令:

find . -size +1M

4、根据修改时间搜索

要查找最近7天内修改过的文件,可以使用以下命令:

find . -mtime -7

5、根据类型搜索

要查找所有普通文件(非目录和非链接),可以使用以下命令:

find . -type f

xargs命令

xargs命令用于从标准输入读取参数,并将其传递给其他命令,它的基本语法如下:

xargs [选项] [命令] [参数]

[选项]是可选参数,[命令]是要执行的命令,[参数]是要传递给命令的参数。

1、基本使用

要将一个文件列表传递给其他命令,可以使用以下命令:

echo "file1 file2 file3" | xargs ls -l

2、指定分隔符

如果文件名之间有空格或其他特殊字符,可以使用-I选项指定分隔符:

echo "file1 file2 file3" | xargs -I {} ls -l {}

3、限制每次传递的参数数量

如果要限制每次传递给其他命令的参数数量,可以使用-L选项:

echo "file1 file2 file3" | xargs -L 2 ls -l

结合find和xargs使用示例

假设我们要查找当前目录下所有大于1MB的文件,并将它们压缩为tar.gz格式,可以使用以下命令:

find . -size +1M -exec tar -czvf {}.tar.gz {} ; | xargs -I {} mv {} /path/to/destination/{}.tar.gz.mvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}.tar.gzmvdated{}earch dir | xargs grep "pattern" > output_file

文章名称:Linux命令中如何使用find和xargs
网站路径:http://www.hantingmc.com/qtweb/news1/229601.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联