此处的文档避免创建中间的一次性使用文件。我希望在获取 20 个可能文件的完整路径时利用它(不使用find -o
语法)。我希望以下工作:
find | grep -f <<EOF
Controller.java
Main.java
Config.java
EOF
但我得到:
grep: option requires an argument -- f
我误解了这里的文件是如何工作的吗?或者 grep -f 不能很好地处理文件描述符?
我也对find
可以获取-name
值列表的解决方案持开放态度,但我不想输入-o
20 次。
最佳选择:
cat <<EOF | xargs --delimiter '\n' --max-args=1 -I% find -iname "*%*"
Controller.java
Main.java
Config.java
EOF
这在智力上是不令人满意的,因为对于每个搜索模式,您都find
在整个文件层次结构上运行一次,这对于大型目录层次结构来说不能很好地扩展。