如何获取不存在的文件并将其存储到变量中?

时间:2015-10-16 18:41:31

标签: bash

我希望当前目录中有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")

行的SQL语句中使用文件名

1 个答案:

答案 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[@]}"