0

統合と使いやすさのために、2 つの非常に異なるスクリプトをマージしようとしています。これらのスクリプトをどのように表示し、操作するかについてのアイデアはありますが、開始するためにいくつかの助けを借りることができます。スクリプトの流れと外観は次のとおりです。

入力ファイルは、次の構文の標準テキスト ファイルです。

#Vegetables
Broccoli|Green|14
Carrot|Orange|9
Tomato|Red|7

#Fruits
Apple|Red|15
Banana|Yellow|5
Grape|Purple|10

スクリプトは、このファイルの入力を受け取ります。コメント部分は無視されますが、それらを使用して出力が指示されます。したがって、それが野菜であるという事実に基づいて、区切り文字 (|) の間にリストされた値を使用して特定の機能を実行します。次に、Fruits に移動し、その区切り文字に基づいて、値に対して別のことを行います。おそらく、Vegetable/Fruit を値の 1 つに追加し、その値に応じて、このループ内でファイルを読み取る関数を実行します。これを開始するにあたり、ご協力いただきありがとうございます。

更新:だから私はIFSセットアップを実装しようとしていて、より論理的な配置を考えています。入力ファイルには、パラメータ内に表示される「カテゴリ」があります。したがって、セットアップは次のようになります。

Vegetable|Carrot|Yellow
Fruit|Apple|Red
Vegetable|Tomato|Red

そこから、スクリプトは行を読み取り、機能を実行します。したがって、基本的にシェルでのこのタイプのセットアップ:

while read -r category item color
do
    if [[ $category == "Vegetable" ]] ; then
        echo "The $item is $color"
    elif [[ $category == "Fruit" ]] ; then
        echo "The $item is $color"
    else
        echo "Bad input"
 done < "$input_file"

それらの線に沿った何か...私はそれをすべてまとめるのに苦労しています。

4

2 に答える 2