linux实现文件搜索,linux应用——查找文件进行拷贝【案例】

本篇向大家分享一个linux应用的案例。要求是这样的:

/a 目录下面的内容

/a/login1.txt

/a/login2.txt

/a/login3.txt

/a/login4.txt

/a/b/login5.txt

/a/b/login6.txt

我们将/a 目录下面的所有以login开头的文件名找出来拷贝到目录/login 下。

利用find命令就可以很好的解决这个问题,其使用方式有两个。

第一 利用find命令的选项-exec来执行相应的命令

# find /a –name login* -exec cp {} /b \;

{} 表示的是由find找到的内容

-exec 是find命令额外动作的开始; \;表示的是额外动作的结束。-exec和\;中间的部分就是额外动作执行的命令。

第二 利用管道(|) 和 xargs 命令

# find /a –name login* | xargs cp –t /b

xargs 读取find的结果作为cp的输入数据。这里需要注意的是cp命令一定要加-t选项。因为-t选项后面跟着的目录是目标目录。如果不加-t的话-b会被认为是源目录,而xargs读入的文件成了目标目录。这样是会报错误的。

上面两种方式都可以解决我们的需求。希望本文对大家有所帮助。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值