如何获取不存在的文件并将它们存储到变量中? [复制]
Posted
技术标签:
【中文标题】如何获取不存在的文件并将它们存储到变量中? [复制]【英文标题】:How do I grab files that don't exist and store them into a variable? [duplicate] 【发布时间】:2016-01-15 14:52:15 【问题描述】:我希望当前目录中存在 6 个文件:
prefix_alpha.txt
prefix_beta.txt
prefix_gamma_.txt
prefix_delta.txt
prefix_epsilon.txt
prefix_feta.txt
如何获取不存在的所有文件的列表并将它们存储到 Bash 中的变量中?如果不存在超过 1 个,则只希望文件名之间有一个空格。结束操作是使用 SQL 语句中的文件名,如INSERT INTO table (columnname) VALUES ("File(s) '$notexistingfiles' don't exist")
【问题讨论】:
查看bash man page 中的-f
和-s
表达式。
【参考方案1】:
您可以使用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[@]"
【讨论】:
以上是关于如何获取不存在的文件并将它们存储到变量中? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
Bash shell在while循环后“清除”一个变量,如何获取变量内文件夹中的所有文件? [复制]
如何从 Firestore 集合中获取所有文档并将它们返回到数组列表中? [复制]
如何复制或删除bash中的特定行并将它们创建到新文件中[重复]