我正在尝试从两个不同的路径获取一个文件。我使用了下面的命令,似乎执行正常,但没有输出。
find . \( -path "/usr/local" -o -path "/user/local/archive" \) -name "xyz.csv"
你能帮我解决这个问题吗?
答案1
没有得到输出的原因:
- 点是搜索的根目录,因此如果您不在根目录中,则搜索树中
.
不会有/usr/local
- 该
-path
选项必须匹配整个路径,包括要查找的对象,因此如果您给出了一个,则-name
该名称也需要成为 的一部分(或者在末尾-path
使用 globbed )*
但find
需要多个参数作为搜索路径,因此您可以像 @Kamaraj 在他的评论中写道的那样进行搜索。在您的情况下,这甚至是不必要的,因为 find 还会在子目录中搜索,因此find /usr/local -type f -name xyz.csv
也会找到/usr/local/archiv/xyz.csv