linux中的Find和exec命令。是否可以使用管道2 find和exec命令

linux中的Find和exec命令。是否可以使用管道2 find和exec命令,linux,Linux,我正在努力完成这项任务 1查找目录A DIR_A并将目录中的所有文件(包括其子目录,如果有)复制到名为DIR_B的新目录中 2在目录diru_B中,将单词apple替换为橙色 我执行了下面的代码,出于某种原因,它复制了所有的文件,但在第二个任务中失败了:用橙色替换苹果。我非常感谢你在这方面的帮助。下面是我的代码 find DIR_A -iname FILEA -type f -exec cp {} DIR_B \;|find DIR_B/ -iname \*.* -type f -exec se

我正在努力完成这项任务

1查找目录A DIR_A并将目录中的所有文件(包括其子目录,如果有)复制到名为DIR_B的新目录中

2在目录diru_B中,将单词apple替换为橙色

我执行了下面的代码,出于某种原因,它复制了所有的文件,但在第二个任务中失败了:用橙色替换苹果。我非常感谢你在这方面的帮助。下面是我的代码

find DIR_A -iname FILEA -type f -exec cp {} DIR_B \;|find DIR_B/ -iname \*.* -type f -exec sed -i "s|apple|orange|g" {} \;
试试这个: Sed语法: sed's/旧/新/g'


与其尝试将一个查找的输出管道化到另一个查找,为什么不按顺序运行它们呢?我不确定find是否从其标准文本中读取

find DIR_A -iname FILEA -type f -exec cp {} DIR_B \; ; find DIR_B/ -iname \*.* -type f -exec sed -i "s|apple|orange|g" {} \;

我已经用分号替换了您的管道。

我认为在sed语法中更改| to/不会对结果产生任何影响。谢谢你的意见
find DIR_A -iname FILEA -type f -exec cp {} DIR_B \; ; find DIR_B/ -iname \*.* -type f -exec sed -i "s|apple|orange|g" {} \;