Shell:条件に2つの変数を使用する方法

Shell:条件に2つの変数を使用する方法

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

コマンドを置き換えるためにバックティックを変更し、デッド$()キャットを削除し、二重引用符を追加しました。

おすすめ記事