у меня есть два файла File_A и File_B пара, содержащий ключ/значениесравнить два файла свойства и заменить значения
File_A
ANT_HOME=/opt/apps/apache-ant
HIBERNATE=/opt/apps/some/path/to/hibernate
BATCHDAEMON=false
BATCHEDIT_ENABLED=false
BATCHENABLED=false
----
----
<120 lines)
File_B
ANT_HOME=$ANT_DIR
HIBERNATE=$HIBERNATE_LOCATION
----
DBCONNECTION=
DBNAME=
DBUSER=
DBPASS=
DBPORT=
DBSERVER=
<70 lines>
Я хочу сравнить ключи в File_A к Ключи в File_B, и если есть значения, соответствующие замене, из File_B в файл_A
Конечный результат
File_A ANT_HOME = $ ANT_DIR Hibernate = $ HIBERNATE_LOCATION DBConnection = DBNAME = DBUSER = DBPass = DbPort = DBSERVER = .... < 120 Lines>
также некоторые из них имеют «=» в них
например
SOME_PASSWD=Qwcnyt2-49zstyq4=
поэтому я использую регулярное выражение, чтобы получить первое вхождение значения перед «=»
Я использую AWK, чтобы увидеть, если я получаю желаемый результат, но я не в состоянии получить заместительную право.
awk 'BEGIN {FS = "/[^=]*/"} FNR==NR { array[$1]=$2; next } $1 in array { sub ($1, array[$2])} 1' File_B, File_A >> some_tempfile.ini
заранее спасибо
, которая работала прекрасно, спасибо большое – TechArch