grep for "fixme" 以及 "fix me" 然后 cat 结果是单个文件
grep for "fixme" as well as "fix me" and then cat results in single file
我想在这里实现两件事:
- grep for fixme 以及修复我。
- 上面grep的结果应该在一个文件里
- 统计fixme数量(包括fixme)
第 1 步我试过了
grep -ir fixme|fix me" src/*
但它没有用。
有没有办法在同一个 grep 命令中完成?
对于第 2 步,我的想法是 grep -ir fixme|fix me" src/* > fixme.log
如果第一步有效。
for 3 是否可以使用单个 grep 命令来完成,它基本上是这样工作的:
grep -ir "fixme|fix me" src/* | wc -l
不是一个好的答案,但这个有效:
grep -ir "FIXME" src/* > f1.log ; grep -ir "FIX ME" src/* > f2.log ; cat f1.log f2.log > fixme.log
grep -E -ir "fixme|fix me" src/*
您可以使用 POSIX ERE 正则表达式
grep -E -ir 'fix ?me' src/*
fix ?me
正则表达式匹配 fix
,然后是可选的 space,然后是 me
。同样可以写成POSIX BRE pattern:
grep -ir 'fix \{0,1\}me' src/*
其中 \{0,1\}
表示 1 或 0 spaces.
我想在这里实现两件事:
- grep for fixme 以及修复我。
- 上面grep的结果应该在一个文件里
- 统计fixme数量(包括fixme)
第 1 步我试过了
grep -ir fixme|fix me" src/*
但它没有用。
有没有办法在同一个 grep 命令中完成?
对于第 2 步,我的想法是 grep -ir fixme|fix me" src/* > fixme.log
如果第一步有效。
for 3 是否可以使用单个 grep 命令来完成,它基本上是这样工作的:
grep -ir "fixme|fix me" src/* | wc -l
不是一个好的答案,但这个有效:
grep -ir "FIXME" src/* > f1.log ; grep -ir "FIX ME" src/* > f2.log ; cat f1.log f2.log > fixme.log
grep -E -ir "fixme|fix me" src/*
您可以使用 POSIX ERE 正则表达式
grep -E -ir 'fix ?me' src/*
fix ?me
正则表达式匹配 fix
,然后是可选的 space,然后是 me
。同样可以写成POSIX BRE pattern:
grep -ir 'fix \{0,1\}me' src/*
其中 \{0,1\}
表示 1 或 0 spaces.