如何編寫一個bash命令來查找當前目錄中包含單詞「foo」的所有文件,而不管大小寫?unix bash命令
回答
假設你想要的文件(而不是文件名)
內搜索如果你只希望搜索當前目錄(不是樹)
grep * -nsie "foo"
如果要掃描整個樹(從當前目錄)
grep . -nsrie "foo"
找到。 -type f | grep的-i 「富」
可以找到包含「foo」的FILENAMES,不包含文本。 (並遞歸目錄樹) – ocodo 2010-08-31 00:50:26
,並且沒有必要使用grep.use find的-iname或-name – ghostdog74 2010-08-31 01:02:21
如果要將其包裝在腳本中,只需鍵入「findnocase foo」,它應該如下所示: 找。 -type f | grep -i $ 1 – 2010-08-31 01:14:51
shopt -s nullglob
shopt -s nocaseglob
for file in *foo*
...
...
..
如果你想 「富」 是在.
對文件的較量中檢查,這樣做:
grep . -rsni -e "foo"
更多選項(-I, - T,...)見man grep
。
OP要求不區分大小寫。你忘了'-i'。 – 2010-08-31 02:14:15
謝謝。改變。 – bitmask 2010-09-30 15:32:58
嘗試:
echo *foo*
將打印的文件/目錄名在當前目錄中,這恰好匹配包含「富」的任何名稱匹配*foo*
。
我一直使用這個小shell命令:
gfind() { if [ $# -lt 2 ]; then files="*"; search="${1}"; else files="${1}"; search="${2}"; fi; find . -name "$files" -a ! -wholename '*/.*' -exec grep -Hin ${3} "$search" {} \; ; }
您要麼gfind '*php' 'search string'
調用它,或者如果你想搜索所有文件gfind 'search string'
- 1. UNIX bash如果命令錯誤
- 2. 書 - 的bash腳本和UNIX命令
- 3. Unix命令
- 4. Unix grep命令
- 5. Unix命令
- 6. Unix dot命令
- 7. Unix命令
- 8. unix find命令
- 9. tee命令UNIX
- 10. SSH UNIX命令
- 11. Unix strace命令
- 12. unzip unix命令
- 13. 狗命令UNIX
- 14. UNIX grep命令
- 15. 使用unix命令重命名文檔中的行(Bash)
- 16. Unix命令錯誤
- 17. 查找命令unix
- 18. Unix Shell - Zip命令
- 19. unix的mail命令
- 20. 管道unix命令
- 21. SED命令在UNIX
- 22. Unix搜索命令
- 23. AIX(vs)Unix命令
- 24. UNIX diff命令usuage
- 25. UNIX導出命令
- 26. 使用UNIX命令
- 27. Unix命令解釋
- 28. 的Unix grep命令
- 29. Unix的sed命令
- 30. Bash expr命令
於緊密的選民,這屬於牢固地插入外殼編程的在我腦海裏的境界。 – ysth 2010-08-31 00:21:22
包含「foo」的文件,包含WORD foo的文件或包含foo的文件名?和當前目錄,你的意思只是在當前目錄,或當前目錄&所有子目錄?隱藏文件怎麼樣,你也想搜索這些文件嗎? – George 2010-08-31 01:06:13