ファイルの内容を読み、kshを使用して分割

ファイルの内容を読み、kshを使用して分割

我々は、ksh製品をインストールするためにスクリプトを使用します。

別の構成ファイルがありますが、基本スクリプトからこの構成ファイルを読み取る必要があります。

構成ファイルの内容:

BPWS_Instance_1:Linux:x86_64:YES:/hosting/download:BPWS_Linux_64.jar
paymon_Instance_1:Linux:i686:YES:/hosting/download:paymon_Linux_32.jar

これで設定ファイルを読み込んだ後、デフォルトスクリプトからBPWS_Instance_1(インスタンス名です)が実行中です(はい=実行中)Linuxオペレーティングシステム64ビットプロセッサ(Linux:x86_64)それから私は受けなければなりませんBPWS_Linux_64.jarこの場所のファイル/ホスティング/ダウンロード

答え1

データとして実行する操作に応じて、2つの主な方法があります。

kshからデータを解析できます。区切り文字でread指定された組み込み関数を使用して、ループを使用してデータを1行ずつ読み込みます。:これにより、入力を列に分割し、その列に対して必要な操作を実行できます。私のサンプルコードは、指定された場所から現在のディレクトリに指定されたファイルをコピーし、インスタンスの実行中にループ本体を必要に応じて調整します。

while IFS=: read instance_name os arch running location filename junk; do
  if [ "$running" = "YES" ]; then
    cp "$location/$filename" .
  fi
done <Configuration

データに対していくつかのテキスト処理を実行する必要がある場合は、awkが選択されるツールになります。ここでは、データを処理するために追加の作業を実行する必要があるためwhile … read …

awk -F ':' '
    $4 == "YES" { 
        ENVIRON["location"] = $5;
        ENVIRON["$filename"] = $6;
        system("cp \"$location/$filename\" .");
    }
' <Configuration

関連情報