Terminal 传递表达式以查找命令不起作用
我尝试使用以下命令列出路径中包含/SL/src/的所有文件Terminal 传递表达式以查找命令不起作用,terminal,find,solaris,Terminal,Find,Solaris,我尝试使用以下命令列出路径中包含/SL/src/的所有文件 find * -type f -name '*/SL/src/*' 但它不会打印任何内容,即使在目录SL/src中有文件,您也可以使用类似的内容: find * -type d -exec sh -c ' for i do [ "$(basename $i)" = src ] && [ "$(basename $(dirname $i))" = SL ] && find "$i" -type
find * -type f -name '*/SL/src/*'
但它不会打印任何内容,即使在目录SL/src中有文件,您也可以使用类似的内容:
find * -type d -exec sh -c '
for i do
[ "$(basename $i)" = src ] &&
[ "$(basename $(dirname $i))" = SL ] &&
find "$i" -type f ; done
' sh {} +
或者简单地说:
find * -type f | grep /SL/src/
这是行不通的,我很惊讶您没有收到一条错误消息find的GNU变体确实警告并退出了:name参数定义了一个名称模板,而不是路径模板。您正在查找文件名中包含/SL/src/的文件!