我想搜索-c
使用grep
例如:
$>ls -al | grep '-c'
但grep
认为这是一种选择。
$>Usage: grep -hblcnsviw pattern file . . .
如何-c
以字符串形式搜索?
Tell grep where your options end:
grep -- -c
您可以:
转义连字符。
grep '\-c'
使用-e
( --regexp=
) 标志
grep -e -c
grep --regexp=-c # Not in POSIX, but supported at least in Linux and OS X.
您使用以下-e
选项:
$ ls -a1 | grep -e -c
这当然在文档中提到,因此:
-e 模式,--regexp=模式
使用 PATTERN 作为模式。这可用于指定多个搜索模式,或保护以连字符 (-) 开头的模式。(-e 由 POSIX 指定。)
为了保持话题,您最初问题的答案是使用要么--
表示要处理的选项结束,要么使用-e
明确标记选项。
ls
但是,如果任何文件名包含新行,则解析 的输出将产生不正确的结果。改用find
:
find . -depth 1 -name "-c"