-2
votes

Lisez deux fichiers et écrivez des données en séquence dans le troisième fichier à l'aide du script shell

J'ai deux fichiers. Le premier fichier a des détails constants (comme le fichier de référence). Un autre fichier a des données dynamiques. Il a des valeurs associées aux premières touches de fichier à l'aide d'un script shell.

file1.txt xxx

file2.txt xxx < p> Je veux le fichier de sortie sortie.txt comme: xxx


2 commentaires

Avez-vous essayé quelque chose (pas mon bowvote, BTW)?


... ce qui est à dire - une bonne question n'est pas seulement une spécification pour le code que vous voulez que quelqu'un d'autre écrit, mais est en fait une question sur un problème isolé que vous avez rencontré pendant le code d'écriture vous-même , montrant votre effort existant et où / comment vous êtes coincé.


3 Réponses :


0
votes

Utiliser awk: xxx

sortie: xxx


0 commentaires

0
votes

Essayez ceci:

#!/bin/bash
FILE1=File1.txt
FILE2=File2.txt

IFS="|"
read -a Header < $FILE1
ColumnsCount=${#Header[@]}

while read line; do
    read -a Values <<< $line
    echo -n "{"
    for ((i=0; i < $ColumnsCount; i++)); do
        echo -n "${Header[$i]}: ${Values[$i]}"
        if [[ $i -lt $((ColumnsCount - 1)) ]]; then
            echo
        fi
    done
    echo "}"
done < $FILE2


0 commentaires

0
votes

Voici ma solution

awk -F "|" 'NR==FNR {first= $1; second=$2; third=$3;} NR > 1{print "{" first ":" $1 "\n" second ":" $2 "\n" third ": "$3  "}" }' File1.txt File2.txt


{CIN:1234
Template:QWERTY
Date: 2019-03-18}
{CIN:5678
Template:ASDF
Date: 2019-03-18}
{CIN:9012
Template:ZXCVB
Date: }


0 commentaires