如何在给定一定模式的情况下在Linux中查找文件?

如何在给定一定模式的情况下在Linux中查找文件?

所以我必须回答这个作业问题:

必须在终端中提供哪个命令行才能查找名称中包含前三个字符“lab”(全部大写、小写或任意组合),后跟 1 到 299 之间的数字的所有“c”源文件,然后按 #、% 或 #。

我想我应该使用 grep,而不是 find。

答案1

您可以使用ls递归列出文件并将其输入通过管道传输到grep可以基于正则表达式过滤结果的文件:

sudo ls -R  / | grep -i -e '^lab\([12][0-9][0-9]\|[1-9][0-9]\|[1-9]\)[#%]\.c$'

grep命令使用-i选项忽略大小写并将-e下一个参数视为要搜索的正则表达式。该ls命令的-R选项用于指示ls递归列出文件。

相关内容