我想在一个文件中grep版本号并在另一个文件中替换它。我想在文件 1 中 grep 4.3.0.5 并在文件 2 中的 4.3.0.2 替换它。我有以下命令来获取数字,但是如何在第二个文件中剪切/替换它?
File1 :
应用程序:4.3.0.5(或)应用程序:4.3.0.5-SNAPSHOT
File2: 编辑前
grid_application_distribution_url = nexus : //com.abcd.efge.ce/App/4.3.0.2/tar.gz/config
文件2:编辑后(期望结果:)
如果文件中的 $VERISON 没有 SNAPSHOT 这个词,那么在文件 2 中
grid_application_distribution_url = nexus : //com.abcd.efge.ce/App/4.3.0.5/tar.gz/config
如果 $VERSION 有 SNAPSHOT 那么文件 2 中的行应该是
grid_application_distribution_url = nexus-snapshot : //com.abcd.efge.ce/App/4.3.0.5/tar.gz/config
VER=$(awk -F: '/^App/{sub(/ .*$/, "", $2); print $2}'/path/file1.txt)
echo $VER
if ($vER ~ /SNAPSHOT/)
/usr/bin/ssh -t -t server2.com "sub("=nexus:", ":=nexus-snapshot") /path/file2" && sub(/[^\/]+\/tar\.gz/, $VER"/tar.gz") /path/file2