如何使用find
來識別那些不包含具有指定名稱的文件的目錄?我想創建一個文件,其中包含缺少某個文件的所有目錄的列表。Unix找到丟失文件的目錄
3
A
回答
2
查找目錄:
find -type d > DIRS
查找與該文件目錄:
find -type f -name 'SpecificName' | sed 's!/[^/]*$!!' > FILEDIRS
找到差異:
grep DIRS -vf FILEDIRS
+0
'find -type f -name「SpecificName」-exec dirname {} \; | uniq'使用這個非常簡單的方法來提取包含該文件的唯一dirname。對目錄使用相同的技巧。 –
+0
如果目錄列表很長(例如> 10000)以加快速度,請使用'grep -F'或'fgrep'。 – Heiko
0
這是一個文件main.cpp的一個例子。在這個例子中找到了所有不包含main.cpp的目錄。正如你看到的我第一次得到的所有文件夾列表,然後得到一個文件夾列表具有main.cpp中,然後運行diff
拿到兩個列表之間的差異:
diff \
<(find . -exec readlink -f {} \; | sed 's/\(.*\)\/.*$/\1/' | sort | uniq) \
<(find . -name main.cpp -exec readlink -f {} \; | sed 's/\(.*\)\/.*$/\1/' | sort | uniq) \
| sed -n 's/< \(.*\)/\1/p'
1
有相當多的不同的方法能去這一點 - 這裏是我採取的辦法(bash
假設):
while read d
do
[[ -r ${d}/SpecificFile.txt ]] || echo ${d}
done < <(find . -type d -print)
如果目標目錄只在一定的深度存在,還有你可以添加到find
其他選項目錄的數量限制檢查...
相關問題
- 1. 如何從目錄中找到丟失的文件
- 2. 找到丟失的記錄
- 3. 找到丟失的記錄
- 4. UNIX找到子目錄
- 5. 在xcode中找到丟失的文件
- 6. Unix找到目錄中的文件的平均數量
- 7. Java只複製丟失的文件從目錄到另一個
- 8. XIB文件丟失 - 無法找到它
- 9. sql查詢找到丟失的記錄
- 10. Unix將文件解壓縮到目錄
- 11. UNIX信號丟失
- 12. unix bash找到帶有2個顯式文件擴展名的文件目錄
- 13. Windows SDK「Samples」目錄丟失
- 14. mongodb丟失集合目錄
- 15. PyCharm 2.0丟失子目錄
- 16. DLL文件丟失從項目輸出目錄
- 17. htaccess文件正確地從根目錄檢測丟失的文件,但不檢測缺失的子目錄
- 18. 查找丟失的順序文件
- 19. 如何查找丟失的文件?
- 20. 的Xcode提交丟失的文件或目錄
- 21. 批處理腳本遞歸循環子目錄,並找到2個文件夾中的丟失文件
- 22. 在複製和粘貼時,找到丟失的文件和子目錄及其文件列表?
- 23. Unix基於文件名創建目錄並將文件移動到目錄
- 24. 迭代unix目錄中的文件talend
- 25. 在Unix中獲取文件的目錄
- 26. Unix shell腳本找出腳本文件所在的目錄?
- 27. unix在目錄和子目錄中查找和替換文本
- 28. 丟失的文件不能丟失?
- 29. Python:setup.py丟失:沒有這樣的文件或目錄
- 30. 丟失<ofstream>:沒有這樣的文件或目錄
This *可能*(我不確定)更適合[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)。 – michaelb958