我正在尝试解析 android 源目录,我需要提取除某些模式之外的所有目录名称。如果您注意到下面。,目前我只将 1 个目录包含在排除列表中,但我会添加更多。,
find 命令不排除名称为“docs”的目录。
注释掉的行有效,但另一行无效。为了便于调试,我包括了稍后将删除的 min 和 maxdepth。
关于它为什么不起作用的任何评论或提示?
#! /bin/bash
ANDROID_PATH=$1
root=/
EXCLUDES=( doc )
cd ${root}
for dir in "${EXCLUDES[@]}"; do
exclude_name_cmd_string=${exclude_name_cmd_string}$(echo \
"-not -name \"${dir}*\" -prune")
done
echo -e ${exclude_name_cmd_string}
custom_find_cmd=$(find ${ANDROID_PATH} -mindepth 1 -maxdepth 1 \
${exclude_name_cmd_string} -type d)
#custom_find_cmd=$(find ${ANDROID_PATH} -mindepth 1 -maxdepth 1 \
# -not -name "doc*" -prune -type d)
echo ${custom_find_cmd}