構成ファイルの問合せと更新

構成ファイルの問合せと更新

私はスクリプティングに初めて触れており、要件の1つについての助けが必要です。

次の情報を含む構成ファイルがあります。

Run=YES

スクリプトを通して値を「いいえ」に更新したいと思います。以下は私が使用するスクリプトです。

config_file=/Home/config
sed -e '/\(^Run=\).*/ S//\1No/' $config_file

スクリプトは値を更新しません。助けてもらえますか?

ベストアンサー1

「値を更新しない」が何を意味するのかは不明です。/Home/configファイルが変更されていないという意味であれば、これはsed基本的に機能する方法です。つまり、入力ファイルを読み込んで変更を適用し、結果をコンソールに出力します。

出力を別のファイルにリダイレクトし、名前を変更して上書きできます。または、サポートしている場合は、sedこの-iフラグを使用してファイルを「所定の位置に」編集できます。

簡単に言うと:

  • 誰でも
    sed -e '/\(^Run=\).*/ S//\1No/' "$config_file" > "$config_file.bup"
    mv "$config_file.bup" "$config_file"
    
  • または
    sed -e -i '/\(^Run=\).*/ S//\1No/' "$config_file"
    

おすすめ記事