所以我必须回答这个作业问题:
必须在终端中提供哪个命令行才能查找名称中包含前三个字符“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
递归列出文件。