ls
を実行してファイルのリストを取得し、各要素がファイル名に対応する配列に結果を読み込みたいとします。これは可能ですか?ファイル名を配列に読み込む
答えて
ls
を使用しないでください、そうではありませんこの目的のために意図されています。グロビングを使用します。
shopt -s nullglob
array=(*)
array2=(file*)
array3=(dir/*)
nullglob
オプションは、一致するものがない場合、配列を空にします。
ありがとう、とにかく私はこれらの結果をパイプすることができますか?私はarr(* | grep ".txt")のようなものを試しましたが、それは好きではありません。 – dublintech
@dublintech: 'grep'は必要ありません。あなたのglobに' array =(*。txt) 'や' array =(* foo *) 'の文字列を入れてください。 –
Thanks Denisそれはうまくいった。 – dublintech
後は、現在のディレクトリにlsの出力を持つARR配列を作成します:ls
より
arr=($(ls))
はるかに良い、より安全なあなたがecho *
を使用することができます。
arr=(*)
echo ${#arr[@]} # will echo number of elements in array
echo "${arr[@]}" # will dump all elements of the array
実際には、ls
は行く方法ではありません。配列から名前を取得するには
declare -a FILELIST
for f in *; do
#FILELIST[length_of_FILELIST + 1]=filename
FILELIST[${#FILELIST[@]}+1]=$(echo "$f");
done
:これを試してみてください
のx & yが取得するための最初の要素ですecho ${FILELIST[x]
- または -
echo ${FILELIST[@]:x:y}
とどのように多くの要素の後にそれ。 bashのアレイ上の偉大なチュートリアルについては
、以下を参照してください http://www.thegeekstuff.com/2010/06/bash-array-tutorial/
あなたはファイルglobを繰り返し処理する必要があります*または*私の答えのようにファイルのglobを使用して配列を作成します - 両方*!要素を配列に追加するとき、複雑なインデックス式で配列の長さを使用する理由はありません(配列がまばらな場合は期待通りに機能しません)。 'array + =(要素)'。代入を直接行うだけで '$(echo" $ f ")を使う理由はありません。あなたの 'echo'ステートメントの1つに閉じた中括弧がありません。 –
は
PATH="" # could set to any absolute path
declare -a ARRAY=(${PATH}/*)
、これを試してみてください、私はあなたが後でリストから不要なものを引き出しますと仮定しています。
- 1. PHPファイルを配列に読み込む
- 2. csvファイルを配列に読み込む
- 3. C:ファイルを配列に読み込む
- 4. ファイル名をwx.Panelに読み込む
- 5. ローカルテキストファイルをJavaScript配列に読み込む
- 6. バイト配列をビットマップに読み込む
- 7. JSON配列をリストビューに読み込む
- 8. ファイルの列を配列に読み込む
- 9. 名前のリストを配列に読み込む
- 10. .wavファイルをJavaのバイト配列に読み込む
- 11. d行内の行の配列にファイルを読み込む
- 12. txtファイルを2次元配列に読み込むjava
- 13. ダブルデータを.txtファイルからDelphiの配列に読み込む
- 14. 数値をファイルから配列に読み込む
- 15. 2次元配列をファイルからPythonリストに読み込む
- 16. pcapファイルをベクトル/配列に読み込む
- 17. ファイルからデータをクラスの配列に読み込む
- 18. 配列を複数回読み込む
- 19. バイト配列の読み込みは、バイト配列をファイル
- 20. 文字列をjavascript配列に読み込む
- 21. pickleファイルを読み込む
- 22. javascript - 外部ローカルの.txtファイルを読み込んでデータを配列に読み込む
- 23. ストリームを含むファイルを読み込む
- 24. ファイルデータを2次元配列に読み込むときにEXC_BAD_ACCESS
- 25. Cでmallocを使ってテキストファイルを配列に読み込む
- 26. C++は2次元配列にファイルを読み込みます
- 27. 複数のファイルの内容を配列のPHPに読み込む
- 28. フォーマットされた配列をファイルから変数に読み込む
- 29. データファイルを多次元配列に読み込むJava
- 30. テキストファイルからnumpy配列にデータを読み込む
はい、可能です。名前に任意の文字(名前にスペースや改行が含まれていると悲しみを引き起こす)が含まれている可能性はありますが、実行可能です。マニュアルのどの部分を理解しづらいですか? –