29 個のファイルから行を読み取り、これらの行を処理して if ステートメントに入れたいと考えています。
この例では、基本的に while ループを使用してファイルを読み取り、各ファイルからこれらの行を読み取り、if ステートメントで sed を使用して処理する 3 つのサンプル ファイルと 1 つのシェル スクリプト ファイルを作成しました。この if ステートメントは、最初の変数を確認するために使用されます (例abc.def) をすべてのファイルに追加し、それらの値をファイルにコピーします。
例:
a.txt
    abc.def=123
    efg.hij=45666
    kml.nop=789
    qrs.tuv=901
    wxy.zabc=234
b.txt
    abc.def=123
    efg.hij=45666
    kml.nop=897
    klm.nop=123
    qrs.tuv=901
    wxy.zabc=234
c.txt
    abc.def=12344
    efg.hij=456
    kml.nop=123
    klm.nop=789
    wxy.zabc=234
sprict.sh
    #!/bash/bin
    count=1
    while IFS= read -r lineA && IFS= read -r lineB <&3 && IFS= read -r lineC <&4; do
    #splitting the line into two,example from line abc.def=123 slit varaibles as "abc.def" and "123"
    A1=`echo "$lineA" | sed -e 's/\=\(.*\)//' `
    A2=`echo "$lineA" | sed -e 's/^[^=]*=//' `
    B1=`echo "$lineB" | sed -e 's/\=\(.*\)//' `
    B2=`echo "$lineB" | sed -e 's/^[^=]*=//' `      
    C1=`echo "$lineC" | sed -e 's/\=\(.*\)//' `
    C2=`echo "$lineC" | sed -e 's/^[^=]*=//' `
    if [ [ "$A1" = "$B1" && "$A1" = "$C1"]];then
    echo -e "<variable id=\"$A1\">\t
    <a2>"$A2"</a2>\t
    <b2>"$B2"</b2>\t
    <c2>"$C2"</c2>\t
    </variable>\n" >> common.txt                    
    fi
    done <a.txt 3<b.txt 4<c.txt
予想される出力は次のとおりです。
<variable id="abc.def">
   <a2>123</a2>
   <b2>123</b2>
   <c2>12344</c2>
</variable>
<variable id="efg.hij">
   <a2>456</a2>
   <b2>45666</b2>
   <c2>45666</c2>
</variable>
<variable id="kml.nop">
   <a2>789</a2>
   <b2>897</b2>
   <c2>123</c2>
</variable>