要查看执行查找时发生的情况,只需键入set -xv即可

-x:在执行时打印命令及其参数.

-v:在读取时打印shell输入行.

这是我有的:

find . -name "*.xml" -exec echo {} \;

给出输出:

./log.xml

./svnLog.xml

当我尝试:

set -xv

find . -name "*.xml" -exec echo {} \;

我明白了:

find . -name "*.xml" -exec echo {} \;

+ find . -name '*.xml' -exec echo '{}' ';'

./log.xml

./svnLog.xml

然后找到执行回显传递找到的文件名而不是litteral:'{}’

但是当您向{}添加内容时,如下所示:

find . -name "*.xml" -exec echo something{} \;

+ find . -name '*.xml' -exec echo 'something{}' ';'

something{}

something{}

这里对我所拥有的2个xml文件执行两次echo,并且因为没有更多'{}’是exec的参数列表,所以它不会被替换.所以我们找到了每个文件的echo’something {}’.

为了解决这个问题,您可以考虑执行echo传递给它的文件名作为参数,例如:

sh -xvc 'echo sothing/$0' filename

我们已经知道什么是-x和-v. -c是从它后面的字符串中获取命令(man sh)

结果是:

sh -xvc 'echo somthing/$0' filename

+ sh -xvc 'echo somthing/$0' filename

echo somthing/$0

+ echo somthing/filename

sothing/filename

我在”之间使用’echo somthing / $0′,以便$0不会被当前的shell扩展.尝试用“”,你会看到$0的扩展;)

因此,要回到“问题”,查找应格式如下:

find . -name "*.xml" -exec sh -xvc 'echo sothing/$0' {} \;

我们会得到:

find . -name "*.xml" -exec sh -xvc 'echo sothing/$0' {} \;

+ find . -name '*.xml' -exec sh -xvc 'echo sothing/$0' '{}' ';'

echo sothing/$0

+ echo sothing/./log.xml

sothing/./log.xml

echo sothing/$0

+ echo sothing/./svnLog.xml

sothing/./svnLog.xml

我们可以看到,find会执行shell cammand echo sothing / $0传递给它'{}'(由find找到的文件名替换)所以我们得到了所需的echo sothing /./ log.xml

设置xv以删除详细模式

我们可以得到:

find . -name "*.xml" -exec sh -c 'echo "cp $0 someWhereElse/$0"' {} \;

cp ./log.xml someWhereElse/./log.xml

cp ./svnLog.xml someWhereElse/./svnLog.xml

所以在你的情况下,你只需要在子shell中执行副本(添加sh或bash或者在exec之后你喜欢shell)并让find将文件名作为parapeter传递给它;)

find /home/mine -iname "*.png" -exec sh -c 'cp $0 /home/mine/pngcoppies/copy/$0' {} \;

希望这可以帮助我,并为我的英语执行.

linux basename目录,linux – 在find -exec中使用basename和full path相关推荐

  1. linux将目录路径加入环境变量中,如何添加路径到PATH环境变量

    1.直接用export命令:#export PATH=$PATH:/opt/au1200_rm/build_tools/bin 命令解释: 设置环境变量 PATH 为 /usr/local/arm/3 ...

  2. linux basename目录,Linux basename命令的使用方法

    01. 命令概述 basename - 从文件名中剥离目录和后缀 basename命令用于打印目录或者文件的基本名称.basename和dirname命令通常用于shell脚本中的命令替换来指定和指定 ...

  3. linux chkconfig 目录,Linux中chkconfig命令的简介及使用方法

    Linux中chkconfig命令的简介及使用方法 发布时间:2020-08-17 16:39:04 来源:亿速云 阅读:94 作者:小新 小编给大家分享一下Linux中chkconfig命令的简介及 ...

  4. linux basename用法,关于linux:在find -exec中使用basename和full path

    我正在用find today进行bash脚本编写世界的冒险. 假设我要将/home/mine/pictures的任何子目录中的任何png文件复制到/home/mine/png机会,并使用find和-e ...

  5. linux 自定义目录,Linux系统中使用脚本指自定义文件夹图标(gio命令)

    如图所示,更改了一个文件夹的默认图标,一直没搞明白,这个设置是保存在哪个文件里面,想通过脚本控制变更图标,一直没有实现,经多方搜索资料,发现可以使用gio命令解决. 一.gio 命令 gio COMM ...

  6. linux spyder 目录,linux下创建spyder桌面图标的方法

    linux下创建spyder桌面图标的方法 发布时间:2020-07-20 11:08:41 来源:亿速云 阅读:96 作者:清晨 小编给大家分享一下linux下创建spyder桌面图标的方法,希望大 ...

  7. linux rpm目录,Linux修改RPM的安装目录的方法

    Linux系统下大多数人都是使用rpm -i xxxx.rpm命令来安装RPM包,这种情况下RPM会被安装在默认的目录当中.如果不想把RPM安装在这个目录下应该怎么办呢?下面就来介绍一下Linux如何 ...

  8. linux 自定义目录,linux – cron命令的自定义目录

    我在Debian / Ubuntu上使用vixie cron.如何设置cron要读取的自定义目录?我想引导crontab运行在一系列文件中找到的命令,例如 /home/cron/*.cron 或完美 ...

  9. rm linux 复制目录,linux学习(四)复制(cp)移动(mv)删除(rm)查找(find)文件、文件夹操作、软硬链接的区别...

    复制文件 cp命令用于复制文件到制定的目录 语法格式为: cp [选项] 源文件或目录 目标文件或目录 命令选项 含义 cp -d 当复制符号链接时,把目标文件或目录页建立为符号链接,并指向与源文件或 ...

最新文章

  1. 镁光ssd管理工具 linux,在 SSD 上使用 Btrfs 文件系统的相关优化
  2. easyui datagrid checkbox的相关属性整理
  3. window7共享xp或者2003的文件设置
  4. 2018 年,去百度面试 Java 后端的一次面试经历
  5. scws sphinx mysql_Sphinx+Scws 搭建千万级准实时搜索应用场景详解
  6. 拓展视野学习前端,我推荐这些
  7. linux 输出到文件 新,如何在Linux中将命令输出保存到文件
  8. flink的watermark简单理解
  9. java类方法不写权限就时default_Day11_final、权限、内部类
  10. 最长不下降子序列//序列dp
  11. 01-Axure9入门培训
  12. 零跑C01/S01/C11/T03维修手册电路图培训手册用户手册技术资料
  13. 彻底卸载McAfee Agent
  14. SPSS学习 (一)概述
  15. CentOS 7 之Helloworld with c
  16. 电脑屏幕黑屏的终极解决办法
  17. 不知道如何入门编程?最全在线教程网站汇总来了,还不赶快收藏
  18. 51单片机控制的自动感应调光、坐姿矫正智能台灯
  19. storm源码分析研究(十三)
  20. Tecplot中自定义函数

热门文章

  1. 让你受用一辈子的一条CMD命令
  2. 地府后台管理系统30.已经在开发中,介绍下目前的工作进度和未来展望
  3. 计算机id不同于MAC,Gurman:Mac上的Face ID将在几年内出现
  4. Quartz.NET快速入门指南
  5. Git忽略项目中的指定的文件
  6. ubuntu14.04-64位机配置android开发环境,ADT,sdk,eclipsea
  7. 向ES6看齐,用更好的JavaScript(三)
  8. SSH中设置字符编码防止乱码
  9. mysql客户端程序介绍
  10. 从武侠门派的角度去解释域、域树、林的含义(下)