0

コマンドラインから自動的に整理する必要がある約 1500 のフォルダーがあります。

を含むすべてのフォルダーを検索する方法を探しています/lib/file.php-フォルダーにfile.php存在するlib場合、ルートフォルダー (lib の 1 レベル上) を新しいディレクトリに移動する必要があります。

を含むすべてのフォルダーを検索する方法は知っていますが/lib/file.php、それらを新しいフォルダーに自動的に移動する方法がわかりません。たとえば、/test123/lib/file.php存在する場合、test123フォルダーを新しいフォルダーに移動する必要があります...

4

2 に答える 2

0

、、およびのパイプチェーンを使用してみてくださいfindsedxargsmv

find -type f -wholename '*/lib/file.php' | sed 's:/lib/file\.php$::' | xargs -I dirs mv dirs /path/to/new/dir/
于 2013-11-08T18:14:53.590 に答える
0

このようなもの、多分:

for d in *
do
  if [[ -r "${d}/lib/file.php" ]]
  then
    mv "${d}" "/some/new/place/."
  fi
done
于 2013-11-08T17:49:13.530 に答える