我有一个脚本,它有以下命令。我试图以这样的方式编辑它,它只搜索路径目录中的文件而不进入子目录。那不是递归搜索
查找{路径} -name“cor *”-type f -exec ls -l {} \;
示例:该命令应仅提供cor123.log而不是cor456.log。目前它给出了两者
<Path>
..cor123.log
<directory>
..cor456.log
我尝试使用-maxdepth但它在AIX中不受支持。 -prune和-depth也没有帮助。
将不胜感激任何帮助。感谢
答案 0 :(得分:1)
您可以使用
textarea
以非递归方式查找文件和目录。
所以在你的情况下,这个会起作用:
*** Variables ***
${endpoint} stuff
*** Keywords ***
答案 1 :(得分:0)
您是否需要find
才能选择文件?
如果您知道以cor
开头的所有文件都是常规文件,则可以使用
ls -l ${Path}/cor*
或
ls -l ${Path}/cor*.log
当您需要-type f
时,您可以尝试过滤结果
文件名不能包含/
,因此请在路径后使用/
删除所有内容
我们不知道$ {Path}的最后一个字符。它可以是/
,这会使grep -Ev "${Path}/.*/"
过滤器无效。路径之后,在查找下一个/
之前至少需要一个字符。
find "${Path}" -name "cor*" -type f 2>/dev/null| grep -Ev "${Path}..*/" | xargs -ls
答案 2 :(得分:0)
最新答案,但可以保存一些答案。在aix中
find /some/directory/* -prune -type f -name *.log
例如,使路径的最后一个斜杠带有通配符,然后是-prune
/ *
find /some/directory/* -prune -name "cor*" -type f -exec ls -l {} \
经过测试。