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读入的文件成了目标目录。这样是会报错误的。

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

本文转载自:迹忆客(https://www.jiyik.com)

以上是 linux应用——查找文件进行拷贝【案例】 的全部内容, 来源链接: utcz.com/z/290109.html

回到顶部