需要解释bash grep正则表达式grep -E'(^ | [^ 0-9。])'2 * .c

时间:2015-03-28 09:57:10

标签: bash grep

我对这个grep命令感到困惑。我希望有人能为我解释一下。

对于每个数字i,在textd.sh中搜索(非数字)i序列

grep -E '(^|[^0-9.])'i *.c

for i in 0 1 2 3 4 5 6 7 8 9; do
   grep -E '(^|[^0-9.])'$i *.c > lines_with_${i}
done

1 个答案:

答案 0 :(得分:2)

这个grep命令:

grep -E '(^|[^0-9.])'$i *.c

是否在循环中匹配数字0,1,2,3 .......

匹配这些数字时,确保数字位于开头(^)或者在这些数字([^0-9.])之前有一个非数字非点字符。

例如,它将匹配:

abc 1
2
def5

并且它不匹配:

abc.1