Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 通过grep shell脚本从子文件夹复制文件_Bash_Shell_Grep - Fatal编程技术网

Bash 通过grep shell脚本从子文件夹复制文件

Bash 通过grep shell脚本从子文件夹复制文件,bash,shell,grep,Bash,Shell,Grep,我想编写一个shell脚本来执行以下操作: 我有一个包含许多子文件夹的文件夹。每个子文件夹都有一个*.gz文件和一些我不需要的其他文件。我想将所有.gz文件移动到一个名为Required_files的新子文件夹中(我已经创建了这个子文件夹)。因此,我做了以下工作: 我转到了包含所有子文件夹和cp/.gz>所需的\u文件的父文件夹,但这不起作用。你能建议我应该做什么吗 grep与此无关。使用查找: find . ! \( -type d -name needed_files -prune \) -

我想编写一个shell脚本来执行以下操作: 我有一个包含许多子文件夹的文件夹。每个子文件夹都有一个*.gz文件和一些我不需要的其他文件。我想将所有.gz文件移动到一个名为Required_files的新子文件夹中(我已经创建了这个子文件夹)。因此,我做了以下工作:
我转到了包含所有子文件夹和cp/.gz>所需的\u文件的父文件夹,但这不起作用。你能建议我应该做什么吗

grep
与此无关。使用
查找

find . ! \( -type d -name needed_files -prune \) -type f -name '*.gz' \
     -exec echo mv -t needed_files {} +
-exec
等效的POSIX是

-exec sh -c 'echo mv "$@" needed_files' _ {} +
如果其输出看起来不错,请删除
echo


顺便说一句,我注意到标题上写着“复制”,但你也说我想移动,所以请决定你到底想做什么,并让我知道,这样我就可以编辑我的答案。

我尝试了这个方法,但得到了以下结果:-执行:无终止“;”或“+”确定尝试:
查找-名称'*.gz'-exec cp{}/needed\u files/\