2016-08-19 19 views
0

シェルスクリプトの初心者です。私はまず、指定されたディレクトリにXMLファイルが存在するかどうかを確認するために以下のコードを試しました。もし見つかったら、XMLファイルを配列に格納してデータを処理する必要があります。しかし、以下の行は機能しません。私は間違って何をしていますか?正しいアプローチを提案してください。ディレクトリからのxmlファイルへのアクセス

+0

配列は、あなたが使用するシェル何 –

+0

のbash @ StefanHegny – siva

+0

httpsを指定しないでXML格納するのに適した場所が非常にありそうではありません(bashの?):/。を/stackoverflow.com/questions/29350318/reading-an-array-from-a-file-in-bash-not-found-errors-using-cat –

答えて

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> 

例:

[email protected]:/tmp/1$ ./test.sh /tmp/1 
/tmp/1/2.xml 
/tmp/1/4.xml 
/tmp/1/3.xml 
/tmp/1/1.xml 
関連する問題