Remplace chaque occurrence d’un caractère par un élément de tableau

J’ai un fichier avec des données:

bq --schema corp:STRING, region:STRING, load_date_time:TIMESTAMP) bq --schema corp:STRING, load_date_time:TIMESTAMP) 

et une variable Ssortingng comme:

 table1 table2 

Qu’est-ce que je veux faire est de remplacer «)» à un élément de tableau et le résultat final devrait ressembler à:

 bq --schema corp:STRING, region:STRING, load_date_time:TIMESTAMP table1 bq --schema corp:STRING, load_date_time:TIMESTAMP table2 

La variable de chaîne est générée à partir du fichier ci-dessous:

 CREATE TABLE UK_CHAIN_PARM_ADDL_FUNDING( corp:STRING, region:STRING, prin:STRING, assc:STRING, chain:STRING, acct_ind:STRING, transit_nbr:INTEGER, dda_nbr:STRING, currency:STRING, mask:STRING, value_dt:INTEGER ) CREATE TABLE UK_SUPPLEMENTAL_FUNDING( merchant:STRING, acct_ind:STRING, transit_nbr:INTEGER, dda_nbr:STRING, currency:INTEGER, mask:STRING, value_dt:INTEGER, beneficiary:STRING, vbc_line_1:STRING ) CREATE TABLE UK_REGION_PARM( corp:STRING, region:STRING, end_point:STRING, currency_code:STRING, tax_id1:STRING, tax_id2:STRING, load_date_time:TIMESTAMP) 

pour extraire uniquement les noms de table que j’ai utilisés ci-dessous commande Tablenames=$(grep -i 'create table' $myfilename | awk -F ' ' 'BEGIN{ORS="\n";}{print $3}' | tr "(" "\n")

Donc, finalement, je veux une sortie en format

bq --schema "schema of the table" -t tablename

Finalement j’ai trouvé la réponse. Donc, au lieu d’utiliser le tableau, j’ai placé des valeurs de chaîne dans un fichier avec une nouvelle ligne de séparation.

Le code que j’ai écrit pour obtenir les résultats attendus:

 while read line1 do found=$(echo $line1 | grep -c ")") if [ $found != 0 ]; then while read line2 do alreadycontainTable=$(grep -c "$line2" NewFileWithTableName.txt) if [ $alreadycontainTable == 0 ]; then tableName=$(echo $line2) echo $line1 | sed -r "s/\)/ -t $tableName/" >> NewFileWithTableName.txt break; fi done < table.txt else echo $line1 >> NewFileWithTableName.txt fi done < fileWithBrackets.txt