我使用 find 在目录或其子目录中搜索文件。
find . -iname '*.csv'
,它给了我以下输出
./2012/t1.csv
./2012/t2.csv
./2013/t1.csv
现在,我想在脚本中检查文件是t1.csv
在当前文件夹中还是在某个子目录中。如果在子目录中,我的脚本应该进入该目录。我该怎么做?
答案1
要仅检查t1.csv
,您可以使用:
find . -name 't1.csv'
现在,要进入t1.csv
找到文件的第一个目录,您可以使用:
cd $(dirname $(find . -name 't1.csv' 2>/dev/null | head -1) 2>/dev/null)
答案2
if [ -f t1.csv ]
then
echo "File is in target dir"
else
cd `dirname $(find . -iname 't1.csv')`
pwd
fi