ディレクトリ構造私が取得するために、再度コマンドを「検索」を使用、その後、(この場合の「FOO」)、最初に特定の文字列を含むディレクトリを取得するためのコマンドを「検索」を使用しようとしている bashのパイプでfindコマンドを使うにはどうすればいいですか?
home
--dir1_foo
----subdirectory.....
--dir2_foo
--dir3_foo
--dir4_bar
--dir5_bar
のように見えますいくつかのディレクトリは条件に一致します。
だから、私は最初
#!/bin/bash
for dir in `find ./ -type d -name "*foo*" `;
do
for subdir in `find $dir -mindepth 2 -type d `;
do
[Do some jobs]
done
done
を試みたが、このスクリプトが正常に動作します。
は、その後、私は以下のようにパイプで一つだけのループを使用しても動作しますが、これは
#!/bin/bash
for dir in `find ./ -type d -name "*foo*" | find -mindepth 2 -type d `;
do
[Do some jobs]
done
は動作しません。また、実際にこのスクリプトはどの手段
for dir in `find -mindepth 2 -type d`;
do
[Do some jobs]
done
、と同じように動作することを考えました最初のfindコマンドは無視されます。
何が問題ですか?
できればそれを避けてください。 '-exec'プライマリを使用してコマンドを含むスクリプトを実行するか、代わりにパス名の拡張を使用してみてください。この場合、単に 'foo */*/* foo */'の' for dir'を使うことができるようです。あなたの 'find'コマンドと同じディレクトリを取得することをお勧めします。 – chepner