从目录访问xml文件

时间:2016-08-19 09:30:25

标签: bash shell

我是shell脚本新手。我尝试了下面的代码,首先检查指定目录中是否存在任何XML文件。如果找到一个,那么我需要将XML文件存储到数组中以处理数据。但下面的行不起作用。我究竟做错了什么?请建议正确的方法。

if [ -f ${Input_Path}/ABC/*.XML ] 
then
    arr=(${Input_Path}/ABC/*.XML)
    for i in "${arr[@]}";
        do
            .......
        done

1 个答案:

答案 0 :(得分:0)

您可以使用如下;

#!/bin/bash
Input_Path=$1
myarray=()

while IFS= read -rd '' files; do 
myarray+=("$files")
#do something;
done < <(find ${Input_Path} -type f -name '*.xml' -print0)

printf '%s\n' "${myarray[@]}"

按以下方式运行;

./script <yourInputPath>

前:

user@user-host:/tmp/1$ ./test.sh /tmp/1
/tmp/1/2.xml
/tmp/1/4.xml
/tmp/1/3.xml
/tmp/1/1.xml