Unixでは、1つのコマンドを使用してサブディレクトリを含むディレクトリのみを一覧表示できますか?
たとえば、「division_A」というサブディレクトリが含まれている場合は、ディレクトリ名を一覧表示したいと思います。
/data/data_file/form_100/division_A
/data/data_file/form_101/division_A
/data/data_file/form_102/division_A
予想される結果は次のとおりです。
form_100
form_101
form_102
2つのコマンドラインでのみ目標を達成できます。
cd /data/data_files
echo `ls -d */division_A 2> /dev/null | sed 's,/division_A,,g'`
だから誰かがコマンドを使ってこれを行うことができるかどうか尋ねたかったのです。
ベストアンサー1
可能であれば、そのオプションを使用して、他のツールを呼び出さずに結果の親ディレクトリのみを印刷するように出力形式を指定GNU find
できます。たとえば、次のようになります。-printf
dirname
$ find
.
./data_file
./data_file/form_100
./data_file/form_100/division_A
./data_file/form_101
./data_file/form_101/division_A
./data_file/form_102
./data_file/form_102/division_A
$ find -type d -name 'division_A' -printf "%h\n"
./data_file/form_100
./data_file/form_101
./data_file/form_102