【发布时间】:2016-07-24 17:11:43
【问题描述】:
根据系统:cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"
在 Mac 上,这看起来非常好用:
printf "12\na\na12\ndaab\n"|grep "\d"
我明白了:
12
na12
在上述系统中,相同的命令不会返回任何内容。
虽然处理了正则表达式:printf "12\na\na12\ndaab\n"|grep "^.$"
给出:
a
有什么解释和解决办法吗?
编辑
- grep (GNU grep) 2.16
- “\w”就像一个魅力
【问题讨论】:
-
很高兴知道您正在使用什么 grep。
grep --version为两者输出了什么? -
@sjsam 你指的是第一个文本块吗?这只是关于他的 Linux 系统的信息,而不是输入到
grep。 -
@Kusalananda 我已经为不工作的 grep 添加了这一点(mac 有
grep (BSD grep) 2.5.1-FreeBSD)。 -
@AsTeR 的目标是抓取仅包含数字的行吗?
-
@sjsam 我做了一个简短的例子来重现这个问题,至少有一个数字的行是例子的目标。