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
答案 0 :(得分:0)
为什么使用cat
将文件传递给grep?为什么不直接给grep文件名?
grep -x '\d*' file.txt
我认为您看到的实际问题是*
通配符正在扩展。这就是grep为您提供错误的原因,这些错误提到系统上的实际目录(以'd'开头)。