
私はスクリプティングに初めて触れており、要件の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"