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 p> file2.txt p> sortie.txt code> comme: p>
3 Réponses :
Utiliser awk: sortie: p>
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
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: }
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 i>, montrant votre effort existant et où / comment vous êtes coincé.