我需要在文件“cfg_file”中搜索多行文本并将该文本替换为另一个文本。要搜索的文本在“cfg_name”中,替换文本在“cfg_value”中。我正在使用 ubuntu m/c。
cfg_file:
rem01=("LOG_CHAN01_REM_IP" transport("tcp") port( LOG_CHAN01_REM_PORT ) );
rem02=("LOG_CHAN02_REM_IP" transport("tcp") port( LOG_CHAN02_REM_PORT ) );
cfg_name:
LOG_CHAN01_REM_IP
LOG_CHAN01_REM_PORT
LOG_CHAN02_REM_IP
LOG_CHAN02_REM_PORT
cfg_value:
10.123.122.52
50001
10.15.19.51
50002
我使用了下面的脚本(从网络上的一些早期查询中得到它),但没有按预期工作。任何想法???
awk 'BEGIN { RS="" }
FILENAME==ARGV[1] { s=$0 }
FILENAME==ARGV[2] { r=$0 }
FILENAME==ARGV[3] { sub(s,r); print }
END { print NR, "Students Records are processed." }
' ./cfg_name ./cfg_value ./cfg_file > ./outfile