码迷,mamicode.com
首页 > 其他好文 > 详细

用find和xargs处理文件名中带空格的文件

时间:2020-11-16 13:29:44      阅读:8      评论:0      收藏:0      [点我收藏+]

标签:接受   pre   处理   有一个   序列   无法   int   复制   默认   

我们经常用find和xargs来进行批处理文件。
常见的用法如:find ./ -name ".jpg" | xargs cp -t ./JPEGImages ,实现将当前目前下所有以.jpg结尾的文件复制到当前目录下的JPEGImages目录中。
但是当find找到一个文件名中含有空格的文件时,便会出现该文件被无法正确复制的问题。
有一个参数-print0,和默认的-print相比,当输入中有空格时,输出的序列不是以空格分隔,而是以null字符分隔。而xargs也有一个参数-0,可以接受以null而非含有空格的输入流。
将代码修改为如下形式:

find ./ -name "*.jpg" -print0 | xargs -0 cp -t ./JPEGImages

用find和xargs处理文件名中带空格的文件

标签:接受   pre   处理   有一个   序列   无法   int   复制   默认   

原文地址:https://www.cnblogs.com/pogeba/p/13953884.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!