2011-07-25 34 views
3

我正在使用find來查找文件,但我只想返回到文件父目錄的路徑。如何使用'find'返回父目錄

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

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

+0

對不起,只是把它清除掉一點:你的意思是(包含文件的目錄),或包含了相關文件的實際目錄的父目錄? – marcelog

回答

9

一個許多方式:

find/ -name 'myfile' -type f -exec dirname {} \; 
0
find /home/ -name 'myfile' -type f | rev | cut -d "/" -f2- | rev | sort -u 
0
cd /home; find . -name 'myfile' -type f | sed "s/\/[^/]*$//" | cut -d "/" -f2- | sort -u 
5

的 - printf操作可以讓你提取大量有關文件的信息。 '%h'是獲取文件名路徑部分的指令。

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

+0

這也適用 – spyderman4g63

2

如果你想找到的文件的目錄下執行一些你可能想要使用-execdir行動。

find /home/ -name 'myfile' -type f -print -execdir chmod -c 700 . \; 
0
find /home/ -name 'myfile' -type f|awk -f"/" '{print $(NF-1), "/",$NF}'