【发布时间】:2015-05-06 09:09:22
【问题描述】:
有没有办法使用 grep、awk 和管道来执行以下操作:
考虑一个父文件夹 A,其中有四个文件夹 B、C、D、E。每个文件夹中的层数未知。我想在每个文件夹 B、C、D、E 的层次结构中查找 .pdf 文件。这可以通过 find 完成:
find . -type f -name "*.pdf"
找到文件后,我会将其移至另一个文件夹。因此,在 B 下找到的 .pdf 文件将被移动到父文件夹中新创建的名为 B_NEW 的文件夹中,依此类推。我不知道如何使用管道并创建文件夹并进行移动/复制!
【问题讨论】:
-
批量使用 find 对文件夹中的每个文件(在临时文件中),grep -c 对列表搜索 .pdf,如果有的话,sed 生成每个文件的复制命令(添加
cp)并作为具有相同名称的目的地,但通过一个非常简单的s///复制路径的 2 第一级。 -
@NeronLeVelu 有道理,但不知道怎么做!
-
@user3639557 你要复制到哪里?您需要在脚本中创建新的目录结构还是已经存在?
-
@JID 刚刚更新了问题。
-
@user3639557 BB 在哪里?在同一个文件夹中,你如何决定新文件夹的名称?