我处理一个使用部分文件名以便正确处理的 bash 脚本。这是一个示例,其文件名中包含“目录”,并且该文件与另一个名称中包含“产品”的文件成对出现。还有更多文件,它们需要按特定顺序处理,首先是带有“Catalog”的文件,然后是名称中带有“ProductAttribute”的文件。
尝试了不同的事情,但仍然无法正常工作。在这里,我有一个关联文件名的哈希表
declare -A files
files=( ["Catalog"]="product" ["ProductAttribute"]="attribute")
for i in "${!files[@]}"; do
#list all files that contain "Catalog" & "ProductAttribute" in their filenames
`/bin/ls -1 $SOURCE_DIR|/bin/grep -i "$i.*.xml"`;
#once the files are found do something with them
#if the file name is "Catalog*.xml" use "file-process-product.xml" to process it
#if the file name is "ProductAttribute*.xml" use "file-process-attribute.xml" to process it
/opt/test.sh /opt/conf/file-process-"${files[$i]}.xml" -Dfile=$SOURCE_DIR/$i
done