我希望当前目录中有6个文件:
prefix_alpha.txt
prefix_beta.txt
prefix_gamma_.txt
prefix_delta.txt
prefix_epsilon.txt
prefix_feta.txt
如何获取不存在的文件列表并将其存储到Bash中的变量中?如果文件名不超过1,则只想在文件名之间留出空格。结束操作是在INSERT INTO table (columnname) VALUES ("File(s) '$notexistingfiles' don't exist")
答案 0 :(得分:3)
您可以使用test(7)命令检查文件是否存在,这样您只需遍历预期文件并将它们添加到数组中(如果它们不存在)。
# The target files
FILES=(
"prefix_alpha.txt"
"prefix_beta.txt"
"prefix_gamma_.txt"
"prefix_delta.txt"
"prefix_epsilon.txt"
"prefix_feta.txt"
)
# Create a missing array
declare -a MISSING
for file in "${FILES[@]}"; do
test -e "$file" || MISSING+=("$file")
done
echo "${MISSING[@]}"