sedあるファイル( temp.txt(バージョン番号))で文字列を検索し、この文字列を取得して別のファイルのバージョン番号を更新するために使用するスクリプトを作成しています。関連するコードスニペットは次のとおりです。
new=$(sed -n '/version: /p' temp.txt)
sed -i .bk "s/version: [.0-9]*/version: $new/" file2.txt
私が抱えている問題は、変数newがバージョン番号を含む1行だけを取得するのではなく、ファイル全体、file2.txtを取得することです。これにより-n、コマンドの一部が機能していないと思います。これにより、文字列を含むすべての行の印刷が抑制されるはずversionです。
sedこれは、私が使用しているバージョン(Mac上)で問題になる可能性があると思います。sedまたは、コマンドを間違って使用している可能性があります。どんな助けでもいただければ幸いです。
sedこのスクリプトはコンピュータ上で実行されるだけではないため、バージョンを更新したくありません。したがって、どのような回避策も理想的です。
ありがとう