要在所有文件中递归查找printf
的所有匹配项,请执行以下操作:
grep -rnw ~/bin/ -e "printf"
但是,如何摆脱搜索模式printf '%0
?
我在下面的试验中失败了,无法逃脱百分比符号:
grep -rnw ~/bin/ -e "printf '%0"
grep -rnw ~/bin/ -e "printf \'\%0"
grep -rnw ~/bin/ -e "printf \'%%0"
样本文件:
#!/bin/sh
printf '%04d' "$var"
1条答案
按热度按时间a14dhokn1#
它不起作用,因为您使用了
-w
选项,该选项仅匹配整个单词。在您的文件中,%0
是单词%04d
的开头。由于%0
之后没有单词边界,因此它不匹配。去掉
-w
选项,它将匹配。由于您希望匹配
printf
之前的字边界,因此使用\b
字边界模式。