迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

linux应用——查找文件进行拷贝【案例】

作者:迹忆 最近更新:2022/12/11 浏览次数:

本篇向大家分享一个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读入的文件成了目标目录。这样是会报错误的。

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

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便