我想列出项目目录下所有的xcworkspace和xcodeproj文件。
我写了下面代码
# !/bin/bash
workspaceFile="xcworkspace"
projectFile="xcodeproj"
# listFiles
path=$(pwd)
fileList=()
walk_dir () {
for name in "$path"/*; do
if [[ -d "$name" && ("${name##*.}" != ${projectFile} || "${name##*.}" != ${workspaceFile}) ]]; then
path=$name
walk_dir "$name"
else
if [ "${name##*.}"x = ${workspaceFile}x ] || [ "${name##*.}"x = ${projectFile}x ];then
fileList+=($name)
fi
fi
done
}
walk_dir
for name in ${fileList[@]}; do
echo $name
done
它没有工作。
但如果改变条件,如下图所示
if [[ -d "$name" && ("${name##*.}" != ${workspaceFile}) ]]; then
path=$name
walk_dir "$name"
else
if [ "${name##*.}"x = ${workspaceFile}x ] || [ "${name##*.}"x = ${projectFile}x ];then
fileList+=($name)
fi
fi
或
if [[ -d "$name" && ("${name##*.}" != ${projectFile}) ]]; then
path=$name
walk_dir "$name"
else
if [ "${name##*.}"x = ${workspaceFile}x ] || [ "${name##*.}"x = ${projectFile}x ];then
fileList+=($name)
fi
fi
这也行得通。
我想保留筛选器xcworkspace和xcodeproj。
有人能帮我吗?
1条答案
按热度按时间ltqd579y1#
最后,我自己找到了结果。