这段代码为什么找不到文件中包含数字的行?
head $1 | grep '^[.]*[0-9]{1,}[.]*'
答案 0 :(得分:0)
.
在[.]
这样的字符组中使用时,表示原义的点。
此外,当您只查找带有数字的行时,数字的前面还是后面都没关系。
您要
head "$1" | grep '[0-9]'
或
head "$1" | grep '[[:digit:]]'
您可能需要阅读:http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html
答案 1 :(得分:0)
如果要在文件“ $ 1”中查找至少包含数字的所有行,则可以使用
grep '[0-9]' "$1"
'head'仅给出文件的前10行。仅使用不带管道'|'的grep扫描整个文件。
(顺便说一句:将$ 1放在双引号中,以确保如果文件名包含一些特殊字符(如空格),则可以正确处理该文件名。)