我有一个这样的find命令:
find /root/newdir/ -mindepth 1 -maxdepth 1 -type f
输出如下:
/root/newdir/test.log
/root/newdir/test2.log
/root/newdir/tmp_test3.log
/root/newdir/test.zip
我需要找到以test
开头并结束.log
的文件。有时我也需要复杂的正则表达式。我尝试-regex
这样的例子,但不起作用:
find /root/newdir/ -mindepth 1 -maxdepth 1 -type f -regex "^test*.log$"
如何在find命令中使用^ $
字符等正则表达式?
答案 0 :(得分:2)
由于输出是/path/to/file/test2.log,例如你不能使用^,因为行的开头应该是/ path / to / file。
在这种情况下,您可以做的是:
find . -mindepth 1 -maxdepth 1 -type f -regex ".*/temp[^\/]*log$"
现在你只能在最后一个/所需的正则表达式后找到文件。