for条件には2つの変数を使用する必要があります。例えば、
cat days
01072017
02072017
03072017
cat hours
00:00
01:00
02:00
03:00
私のシェルスクリプトの例
for i in `cat days` & j in `cat hours`
do
cat file | grep $i $j >data-$i-$j
done
3日* 4時間= 12個のファイルの出力を希望し、対応するデータ-日-時間にリダイレクトします。
ベストアンサー1
このタイプの問題に対する標準的な解決策は、2つのループを作成することです。
for i in $(<days); do
for j in $(<hours); do
grep "$i $j" file > data-"$i-$j"
done
done
コマンドを置き換えるためにバックティックを変更し、デッド$()
キャットを削除し、二重引用符を追加しました。