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. C:ファイルを配列に読み込む
- 2. .xyzファイルを配列に読み込む
- 3. csvファイルを配列に読み込む
- 4. PHPファイルを配列に読み込む
- 5. ファイルから配列を読み込む
- 6. ファイル名をwx.Panelに読み込む
- 7. ファイルの列を配列に読み込む
- 8. ファイルを文字列配列に読み込む方法
- 9. バイト配列をビットマップに読み込む
- 10. テストバンクファイルを2D配列に読み込む
- 11. TensorFlow:配列にバッチフィーチャーを読み込む
- 12. JSON配列をリストビューに読み込む
- 13. データを配列に読み込むMATLAB
- 14. ローカルテキストファイルをJavaScript配列に読み込む
- 15. バッチファイル:ディレクトリからファイル名を読み込み、配列に格納
- 16. 名前のリストを配列に読み込む
- 17. ファイルを文字列に読み込む
- 18. 配列を含むJSON配列を読み込む(?)C#
- 19. 複数の.txtファイルを読み込み、配列に情報を書き込む
- 20. 2次元配列をファイルからPythonリストに読み込む
- 21. コンマ区切りファイルを整数配列に読み込む
- 22. C言語の配列に.csvファイルを読み込む
- 23. ファイルをバイナリバイト配列に読み込む - Java
- 24. サンプルをファイルから配列に読み込む
- 25. d行内の行の配列にファイルを読み込む
- 26. txtファイルを2次元配列に読み込むjava
- 27. ファイルからデータをクラスの配列に読み込む
- 28. ダブルデータを.txtファイルからDelphiの配列に読み込む
- 29. ファイルを複数の配列に読み込む
- 30. .csvファイルをjavaの配列リストに読み込む方法は?
はい、可能です。名前に任意の文字(名前にスペースや改行が含まれていると悲しみを引き起こす)が含まれている可能性はありますが、実行可能です。マニュアルのどの部分を理解しづらいですか? –