Source_file.txtにはこのようなデータがあります。
5daee1ef55297ba2fac78933
そしてTarget_file.txtに
$$API_JOB_ID=5daed2a255297ba2fac78930
$$API_JOB_RES=succeeded
$$API_SERVER=awsabc1108
Source_file.txt
今の値を変更する必要がありますTarget_file.txt
。
出力は次のようにする必要があります
$$API_JOB_ID=5daee1ef55297ba2fac78933
$$API_JOB_RES=succeeded
$$API_SERVER=awsabc1108
参考にしてくださいソースファイル.txt他のプロセスが完了するたびに、値は動的に変更されます。したがって、ターゲットファイルは毎回正しい内容で更新する必要があります。$$API_JOB_ID
この問題を解決するには Unix コマンドが必要です。
ベストアンサー1
まあ、これは汚い、しかし動作するはずです。
sed 's/\$\$API_JOB_ID=.*$/\$\$API_JOB_ID='"$(cat Source_file.txt)"'/' Target_file.txt
変更されたバージョンを端末に印刷するのではなく、ターゲットファイルを直接編集するには、次のコマンドを使用します。
sed -i 's/\$\$API_JOB_ID=.*$/\$\$API_JOB_ID='"$(cat Source_file.txt)"'/' Target_file.txt
それ汚い、主に私がやっていることのために多すぎるファイル形式とコマンドの成功の前提は、これらの前提に大きく依存します。正しい、どの仮定ができるかを正確に知る必要がありますが、説明が少しあいまいです。ファイルに異なる形式やより複雑な構造があるため、これが失敗する可能性があると思われる場合は、これを知ってSource_file.txt
おくTarget_file.txt
必要があります。