麻烦列出包含具有特定文件扩展名的文件的目录

时间:2015-01-12 21:08:37

标签: unix solaris

如何仅列出包含某些文件的目录。我在Solaris机器上运行。例如,我想列出目录ABC的子目录,其中包含以.out,.dat和.log结尾的文件。

由于

1 个答案:

答案 0 :(得分:1)

这些方面的某些内容可能适合你:

find ABC/ \( -name "*.out" -o -name "*.log" \) -print | while read f
do
  echo "${f%/*}"
done | sort -u

sort -u位可能只是uniq,但要么应该有效。

应该适用于bashksh。可能在/bin/sh上没那么多 - 你必须用echo "${f}" | sed -e 's;/[^/]*$;;'之类的东西替换变量扩展,否则会剥离路径的最后一个组件。 dirname "${f}"对此有好处,但我不记得Solaris是否包含该实用程序......