如何使用'find'返回父目录

时间:2011-07-25 14:51:08

标签: bash

我使用find来查找文件,但我只想返回文件父目录的路径。

find /home/ -name 'myfile' -type f

返回所有文件匹配的完整路径列表,但我想

6 个答案:

答案 0 :(得分:13)

许多人的一种方式:

find /   -name 'myfile' -type f -exec dirname {} \;

答案 1 :(得分:8)

-printf操作允许您提取有关该文件的大量信息。 '%h'是获取文件名路径部分的指令。

find /home/ -name 'myfile' -type f -printf '%h\n'

答案 2 :(得分:2)

如果要在找到的文件的目录中执行某些操作,可能需要使用-execdir操作。

find /home/ -name 'myfile' -type f -print -execdir chmod -c 700 . \;

答案 3 :(得分:1)

find /home/ -name 'myfile' -type f|awk -f"/" '{print $(NF-1), "/",$NF}'

答案 4 :(得分:0)

find /home/ -name 'myfile' -type f | rev | cut -d "/" -f2- | rev | sort -u

答案 5 :(得分:0)

cd /home; find . -name 'myfile' -type f | sed "s/\/[^/]*$//" | cut -d "/" -f2- | sort -u