我需要递归查找目录中的所有TIFF,但忽略也会碰巧以“.tif
”结尾的一些工件(基本上所有隐藏文件)。这个命令:bash`find`转义
find . -type f -name '*.tif' ! -name '.*'
工作正如我想要它在命令行上,但在一个bash脚本里面找不到任何东西。我已经尝试用-and -not
替换!
,我想 - 几乎每个我能想到的和/或由googleshpere推荐的转义排列,例如, .\*
,遗漏单引号等等。显然我错过了一些东西,任何帮助表示赞赏。
编辑:这是脚本的重要部分;它所做的查找目录是参数化的,但我一直在用它进行调试。它没有什么区别:
#!/bin/bash
RECURSIVE=1
DIR=$1
#get the absolute path to $DIR
DIR=$(cd $DIR; pwd)
FIND_CMD="find $DIR -type f -name '*.tif' ! -name '.*'"
if [ $RECURSIVE == 1 ]; then
FIND_CMD="$FIND_CMD -maxdepth 1"
fi
for in_img in $($FIND_CMD | sort); do
echo $in_img # for debugging
#stuff
done
请提供您的脚本 – pb2q
你打电话从包含'.tiff'文件的目录的脚本摘录? –
脚本的工作目录是什么?这就是'find'命令正在寻找匹配'* .tif'的文件的地方。 – chepner