2013-04-02 26 views
1

我想用grepgrep的 「-C」

例如搜索-c

$>ls -al | grep '-c' 

grep認爲這是一種選擇。

$>Usage: grep -hblcnsviw pattern file . . . 

如何搜索-c作爲字符串?

+1

試試'grep'\ -c' – fedorqui

回答

2

你既可以:

  1. 逃生連字符。

    grep '\-c' 
    
  2. 使用-e--regexp=)標誌

    grep -e -c 
    grep --regexp=-c # Not in POSIX, but supported at least in Linux and OS X. 
    
1

您使用-e選項:

$ ls -a1 | grep -e -c 

這當然是提到in the documentation,正是如此:

-e PATTERN,--regexp = PATTERN

使用PATTERN作爲模式。這可以用於指定多個搜索模式,或者用於保護以連字符( - )開頭的模式。 (-e由POSIX指定)。

6

告訴grep的地方你的選擇結束:

grep -- -c 
+0

罰款。它也可以工作。 – ismylhakkituran

+0

這是推薦的方法,因爲這個'--'方法可用於大多數命令... – anishsane

0

要留在題目,回答你原來的問題是爲使用--信號結束選項來處理,或使用-e明確標記該選項。

但是,如果任何文件名包含新行,解析ls的輸出將產生不正確的結果。使用find代替:

find . -depth 1 -name "-c"