我知道我遗漏了一些明显的东西,而且我确定这与我的 -name 部分有关。
这是家庭作业,但我认为我非常接近正确答案。更好的写作方式也总是受到赞赏!
find /home/caine/thecopy -user caine -size -10240c -name ^a.* | wc
这给出了wc
of 0 0 0
,删除名称表达式会产生大量计数。
我试过 ^a 、 '^a' 、 '^a.*' 并且都得出 0 个结果。TIA 伙计们。:)
您需要包装文件名:
find /home/caine/thecopy -user caine -size -10240c -name "a.*" | wc
# ^ ^
to 的参数-name
是 shell 模式,而不是正则表达式。^
and字符将分别.
匹配文字^
和.
字符,而不是名称的开头和任何字符,就像它是正则表达式一样。
如果要匹配以 开头的文件名'a'
,这应该有效:
find /home/caine/thecopy -user caine -size -10240c -name 'a*' | wc
周围的引号a*
(单引号或双引号)很重要;没有它们,shell 将在find
看到它之前扩展模式。
如果你真的想匹配一个正则表达式,你可以替换-name
为-regex
; 这是一个 GNU 特定的扩展。但在这种情况下,shell 模式可能就足够了。
注意:我假设您要匹配名称以a
;开头的文件。你实际上并没有这么说。