コマンドラインからファイルの完全な行を置き換える

コマンドラインからファイルの完全な行を置き換える

次のような内容を含むテキストファイルがあります。

# General information about the project.
project = u'Py6S'
copyright = u'2012, Robin Wilson'

# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '0.5'
# The full version, including alpha/beta/rc tags.
release = '0.5'

version = '0.5'その行をversion = XXがスクリプトに提供されているコマンドライン引数に置き換え、release =その行に対して同じことをしたいと思います。

この交換を実行するために呼び出すことができる簡単なコマンドはありますか?sed少し調べてみましたが、sedのグローバル交換を実行するにはsearchが必要なようですversion = '0.5'。しかし、実際に検索したいのは、次から始まる行です。version =なぜなら、スクリプトを実行するときにバージョンが何であるかわからないからです!

どんなアイデアがありますか?

ベストアンサー1

sed -i "/^version =/s/'[^']*'/'NEW_VERSION_IS_HERE'/" your_file

おすすめ記事