在子目录中查找特定字符串,并按修改日期排序顶级目录

时间:2012-12-30 06:42:33

标签: linux bash pipe

我有一个包含一些文件的目录结构。 我正在尝试查找包含其中包含特定字符串的文件的顶级目录的名称。

我有这个:

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

返回类似的内容:

topDir1
topDir2
topDir3

我希望能够获取此输出并以某种方式将其输入此命令:

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

将返回由第一个命令过滤的输出并按修改日期排序。

我希望有一个班轮!

或许有更好的方法可以做到这一点?

提前致谢

1 个答案:

答案 0 :(得分:1)

只要没有目录名称包含空格或通配符,这都应该有效:

ls -td $(grep -r abcdefg . | grep commit_id | dirname)