我查看了其他类似的问题,但没有找到一个可以让我掌握这个概念,并根据我有限的时间使其适用于我的情况.我只是运行find命令来查找某些文件,但是子目录中的某些文件具有我想忽略的相同名称.谢谢你的帮助.以下是我正在使用的命令:
我感兴趣的文件/模式:/ dev/abc-scanner,/ dev/abc-cash ....
命令:
find /dev/ -name 'abc-*'
Run Code Online (Sandbox Code Playgroud)
回复了什么:
/dev/abc-scanner
/dev/abc-cash
...
...
...
/dev/.udev/names/abc-scanner
/dev/.udev/names/abc-cash
Run Code Online (Sandbox Code Playgroud)
我想忽略后面的文件:/dev/.udev/...
Mar*_*air 166
如果您只想将查找限制在第一级,您可以执行以下操作:
find /dev -maxdepth 1 -name 'abc-*'
Run Code Online (Sandbox Code Playgroud)
...或者如果你特别想要排除.udev目录,你可以这样做:
find /dev -name '.udev' -prune -o -name 'abc-*' -print
Run Code Online (Sandbox Code Playgroud)
你需要使用find什么特别的原因吗?您可以使用它ls来查找与目录中的模式匹配的文件.
ls /dev/abc-*
Run Code Online (Sandbox Code Playgroud)
如果确实需要使用find,可以使用该-maxdepth 1开关仅应用于指定目录.
这可能会做你想做的:
find /dev \( ! -name /dev -prune \) -type f -print
Run Code Online (Sandbox Code Playgroud)