需要说明一下 bash grep正则表达式 grep -E '(^|[^0-9.])'2 *.c
need to explain bash grep regular expression grep -E '(^|[^0-9.])'2 *.c
我对这个 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
这个grep
命令:
grep -E '(^|[^0-9.])'$i *.c
正在循环匹配数字 0、1、2、3...。
在匹配这些数字时,它确保数字要么在开头 (^
),要么在这些数字之前有一个非数字非点字符 ([^0-9.]
)。
例如它将匹配:
abc 1
2
def5
不匹配:
abc.1
我对这个 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
这个grep
命令:
grep -E '(^|[^0-9.])'$i *.c
正在循环匹配数字 0、1、2、3...。
在匹配这些数字时,它确保数字要么在开头 (^
),要么在这些数字之前有一个非数字非点字符 ([^0-9.]
)。
例如它将匹配:
abc 1
2
def5
不匹配:
abc.1