如何仅列出包含某些文件的目录。我在Solaris机器上运行。例如,我想列出目录ABC的子目录,其中包含以.out,.dat和.log结尾的文件。
由于
答案 0 :(得分:1)
这些方面的某些内容可能适合你:
find ABC/ \( -name "*.out" -o -name "*.log" \) -print | while read f
do
echo "${f%/*}"
done | sort -u
sort -u
位可能只是uniq
,但要么应该有效。
应该适用于bash
或ksh
。可能在/bin/sh
上没那么多 - 你必须用echo "${f}" | sed -e 's;/[^/]*$;;'
之类的东西替换变量扩展,否则会剥离路径的最后一个组件。 dirname "${f}"
对此有好处,但我不记得Solaris是否包含该实用程序......