bashには、2つの異なるディレクトリからPythonプログラムにcsvファイルを転送するスクリプトがあります。
#!/bin/bash
DIR1=/a/directory
DIR2=/another/directory
for f in DIR1
do
/direc/to/python3.7 /dir/scriptspython/.py $DIR1/$f
done
for n in DIR2
do
/direc/to/python3.7 /dir/scriptspython/.py $DIR2/$f
done
問題は、ディレクトリ内のファイルを次のように順番にロードしたいということです。$DIR1/$f(1) then $DIR2/$n(1)...$DIR1/$f(x) then DIR2/$n(x)
私の問題はこれに似ているようです。ワイヤーただし、ファイルの代わりにディレクトリを使用してください。
答え1
だから私はあなたがこのようなファイルを持っていると仮定します。
aa/apple aa/orange aa/perry bb/apple bb/orange bb/perry
2つのディレクトリにあるファイルを使用aa/*
してbb/*
一覧表示し、2つの配列に保存してその配列を繰り返すことができます。
#!/bin/bash
files1=(aa/*)
files2=(bb/*)
for (( i=0; i < ${#files1[@]}; i++)); do
echo "${files1[i]}"
echo "${files2[i]}"
done
aa/apple
bb/apple
、、、などの順序で出力されます。aa/orange
ソート順はデフォルトの事前ソートです。上記のコードは最初のリストからファイル数を取得するため、デフォルトでは両方のディレクトリに同じ数のファイルがあるとします。
(2つのディレクトリのファイル名のリストが同じでない場合、これがどれほど意味があるのかわかりません。)