arrays - 将包含两个特定字符串的文件列表到bash中的数组中
问题描述
在一个目录内(没有任何子目录)我有几个文本文件。
我想创建一个包含文件列表的数组,其中包含特定的两个字符串说Started uploading
和UPLOAD COMPLETE
。
for i /directory_path/*.txt; do
#perform operations on 1
done
这是考虑目录中存在的所有文本文件。在这里,i
我只想要包含上述字符串的文件。
任何建议/帮助都将得到重视!
解决方案
如果您继续使用您的代码,那么可以执行此操作
declare -a files;
for i in directory_path/*.txt; do
if grep -q 'Started Uploading' "$i" && grep -q 'UPLOAD COMPLETE' "$i"; then
files+=("$i")
fi
done
echo "matching files: ${files[@]}"