我使用find来查找文件,但我只想返回文件父目录的路径。
find /home/ -name 'myfile' -type f
返回所有文件匹配的完整路径列表,但我想
答案 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