2012-01-15 214 views

回答

3

单单打印匹配的表达式
(不是整个行,可能会显示在同一行中的几个表达式)

yourcommand | grep -P -o '(?<=id=)[0-9]' 
2

bash的正则表达式不使用Perl兼容。你可以使用grep:

grep -P -o '(?<=id=)[0-9]' 

而且在管道:

number=$(echo "foo id=3 bar" | grep -Po '(?<=id=)[0-9]') 
echo $number # => 3