我想写一个bash脚本,它将使用包含特定文件的所有目录的列表。我可以使用find来回显每个匹配文件的路径。我只想列出到包含至少一个匹配文件的目录的路径。
例如,给出以下目录结构:
dir1/ matches1 matches2 dir2/ no-match
命令(查找’matches *’)将只输出到dir1的路径。
作为额外的背景,我使用它来查找包含Java .class文件的每个目录。
find -name '*.class' -printf '%h\n' | sort -u
从男人找:
-printf
format
%h
Leading directories of file’s name (all but the last element). If the file name contains no slashes (since it is in the current directory) the%h
specifier expands to"."
.