介绍
find 给出的 find 语法是
find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression]
find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression]
[-H | -L | -P] [-EXdsx] 这些就是 find 的可选选项。
选项说明
-P:不跟踪连接,默认选项
-L:跟踪连接
-H:不跟踪连接,除非链接是作为参数的
-E:将 -regex 解释为扩展正则表达式,而不是基本正则表达式
-X:允许 find 安全地配合使用 xargs,跳过名字里有界定符的文件
-d:先列出目录内文件再列出目录本身。find 默认先列出目录本身
-s:按照字典顺序列出文件
问题
今天发现一个问题: $user是软连接文件夹
fileList=`find $dataDir/$user -name "*.sql"`
之前一直没问题,今天有人反映文件不对。
查找后发现之前$user都是文件夹,昨天为了方便加了一个软链接进来,结果软链接内的文件查找不到
解决方法1:
fileList=`find $dataDir/$user/ -name "*.sql"`
$user后面加个/就好了。
解决方法2: -L查询软连接
fileList=`find -L $dataDir/$user -name "*.sql"`
$user后面加个/就好了。