Я пытаюсь сравнить два файла (f1, f2) и создать третий файл f3. если поле $ 1 одинаково в обоих файлах, тогда сгенерируйте запрос sql следующим образом:
файл f1
db1
db2
db3
файл f2
db1 tab11
db1 tab12
db1 tab13
db2 tab21
db2 tab22
db3 tab31
db3 tab32
db3 tab33
db3 tab34
файл f3
( TRIM(C.DATABASENAME) = 'db1' AND C.TABLENAME IN ('tab11', 'tab12','tab13')) OR
( TRIM(C.DATABASENAME) = 'db2' AND C.TABLENAME IN ('tab21', 'tab22')) OR
( TRIM(C.DATABASENAME) = 'db3' AND C.TABLENAME IN ('tab31', 'tab32', 'tab33','tab34' ))
Возможно ли создать файл f3 с помощью awk?
это то, что я придумал, но он генерирует файл с неверным форматом данных
while read db; do
awk -v mydb=$db '{if ($1=mydb) printf "( TRIM(C.DATABASENAME) ="$1 "AND C.TABLENAME IN (" $2 "," }' f2 > f3
done < f1