grep错误的文件模式?

时间:2014-01-10 19:20:52

标签: grep gnuwin32

cat file.txt | grep -x "\d*"
grep: \Documents and Settings: Is a directory

我想在file.txt搜索任何只有数字的行,但grep似乎正在查看\d*作为文件的通配符,而不是模式。我如何指定它是模式,它应该使用stdin来获取什么?

该文件中充满了日期时间戳的行,有些以字母结尾,有些则没有。

20140110122200
20131208041510M
...

我试图只获得不以字母结尾的行。

编辑:我也尝试过设置文件名,而不是用cat管道。没什么不同。

C:\long\path>grep -ex "\d*" -f file.txt
grep: \Dell: Is a directory
grep: \Documents and Settings: Is a directory

1 个答案:

答案 0 :(得分:0)

为什么使用cat将文件传递给grep?为什么不直接给grep文件名?

grep -x '\d*' file.txt

我认为您看到的实际问题是*通配符正在扩展。这就是grep为您提供错误的原因,这些错误提到系统上的实际目录(以'd'开头)。