1

いくつかのファイルを含むディレクトリ構造があります。特定の文字列を含むファイルを含むトップディレクトリの名前を見つけようとしています。

私はこれを持っています:

grep -r abcdefg . | grep commit_id | sed -r 's/\.\/(.+)\/.*/\1/';

次のようなものを返します。

topDir1
topDir2
topDir3

この出力を取得して、何らかの方法でこのコマンドに入力できるようにしたいと思います。

ls -t | grep -e topDir1 -e topDir2 -e topDir3

最初のコマンドでフィルタリングされ、変更日順に並べられた出力が返されます。

ワンライナー希望です。それとも、それを行うためのより良い方法がありますか?

4

1 に答える 1

1

ディレクトリ名に空白またはワイルドカード文字が含まれていない限り、これは機能するはずです。

ls -td $(grep -r abcdefg . | grep commit_id | dirname)
于 2012-12-30T06:50:57.690 に答える