提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我目前正在使用以下bash命令从大型多层目录提取图片:
find . -name \*.jpg -exec cp {} /newdir_path_.. \;
但是,所有图片都存储在3个版本中:
xxx-LD.jpg
xxx-SD.jpg
xxx.jpg
我只想提取xxx.jpg
图片,而不是LD和SD ...如何修改我的命令以执行此类提取?
您可以添加更多测试:
find . -name '*.jpg' -not -name '*-[LS]D.jpg' -exec cp {} /newdir_path_.. \;
-not
不是GNU扩展; 您可以使用! -name
! -name
。 在某些外壳中, !
必须逃脱: \\! -name
\\! -name
。
考虑到文件名仅包含.jpg
之前的数字,这也可能对您.jpg
:
find . -iregex '.*/[0-9]*\.jpg$' -exec cp {} /newdir_path_.. \;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.