假设我想在Linux的所有子目录中搜索文件名包含python的文件,该如何使用正则表达式进行搜索?请问如何在shell脚本中实现?
查找所有的 .py 文件。
find / -name '*.py'
查找文件名中包含单词"python"的文件。
find / -name '*python*'
与上面相同,但是不区分大小写。
find / -iname '*python*'
正则表达式匹配,更加灵活。查找既有以 .py 结尾的文件,又有文件名中包含单词 "python" 的文件。
find / -regex '.*python.*\|.*\.py'
find
处理通配符,而不是由 shell 处理,因此必须对 *
加上引号。 - John Kugelman[^/]*
。 - nadapezfind /linux -name "*python*"
*
通配符,而是一个量词。 - Christopher K.ack
改变了一些重度 grep 用户习惯的行为(例如,在不同行上放置文件名和文本匹配)。这对我来说已经足够成为放弃它的障碍了。 - Sridhar Sarnobatfind / -name "python"
[为达到最低字数要求的占位文本]