Bash 通过grep shell脚本从子文件夹复制文件
我想编写一个shell脚本来执行以下操作: 我有一个包含许多子文件夹的文件夹。每个子文件夹都有一个*.gz文件和一些我不需要的其他文件。我想将所有.gz文件移动到一个名为Required_files的新子文件夹中(我已经创建了这个子文件夹)。因此,我做了以下工作: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 \) -
我转到了包含所有子文件夹和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/\代码>