我有大约 1500 个文件夹需要通过命令行自动组织。
我正在寻找一种方法来搜索包含的所有文件夹/lib/file.php
- 如果文件夹中file.php
确实存在lib
,我需要将根文件夹(lib 上一级)移动到一个新目录中。
我知道如何搜索所有包含/lib/file.php
但不知道如何将它们自动移动到新文件夹中的文件夹。例如,如果/test123/lib/file.php
存在,则应将该test123
文件夹移动到一个新文件夹中...
我有大约 1500 个文件夹需要通过命令行自动组织。
我正在寻找一种方法来搜索包含的所有文件夹/lib/file.php
- 如果文件夹中file.php
确实存在lib
,我需要将根文件夹(lib 上一级)移动到一个新目录中。
我知道如何搜索所有包含/lib/file.php
但不知道如何将它们自动移动到新文件夹中的文件夹。例如,如果/test123/lib/file.php
存在,则应将该test123
文件夹移动到一个新文件夹中...
像这样的东西,也许:
for d in *
do
if [[ -r "${d}/lib/file.php" ]]
then
mv "${d}" "/some/new/place/."
fi
done
尝试使用,和的管道链find
sed
xargs
mv
find -type f -wholename '*/lib/file.php' | sed 's:/lib/file\.php$::' | xargs -I dirs mv dirs /path/to/new/dir/