sed は Unix の文字ストリーム エディタ、つまりストリーム エディタです。行指向であり、行単位で処理します。同時に、sed は非対話型であり、一度実行するとファイル全体を処理します。 日常のバックグラウンド サービス構成ファイルは、ini ファイル、toml ファイル、カスタム構成ファイルなど、ほとんどがキーと値の形式です。場合によっては、構成ファイルを変更するための自動スクリプトを記述する必要がある場合、シェルの sed コマンドを使用して、定期的なマッチングと迅速な変更を実行できます。これは非常にシンプルで高速であり、多くの「高級言語」で記述する手間が軽減されます。次に、主に 2 つの一般的な構成変更とコマンド リファレンスの例を示します。 テスト用の設定ファイル test.conf $ cat テスト.conf 最大接続数 = 100 test.log_path = "/tmp/test.log" fsync=オン 値を引用する方法 #!/bin/bash 設定 = test.conf set_key_value() { ローカルキー=${1} ローカル値=${2} [ -n $値 ]の場合; #echo $値 local current=$(sed -n -e "s/^\($key = '\)\([^ ']*\)\(.*\)$/\2/p" $CONF) # 一重引用符付きの値if [ -n $current ];then echo "$CONF の設定: $key = $value" 値="$(echo "${value}" | sed 's|[&]|\\&|g')" sed -i "s|^[#]*[ ]*${キー}\([ ]*\)=.*|${キー} = '${値}'|" ${CONF} フィ フィ } set_key_value "最大接続数" "1024" set_key_value "test.log_path" "/data/logs/test.log" 引用符なしの値 設定 = test.conf set_key_value() { ローカルキー=${1} ローカル値=${2} [ -n $値 ]の場合; #echo $値 local current=$(sed -n -e "s/^\($key = \)\([^ ']*\)\(.*\)$/\2/p" $CONF) # 一重引用符なしの値if [ -n $current ];then echo "$CONF の設定: $key = $value" 値="$(echo "${value}" | sed 's|[&]|\\&|g')" sed -i "s|^[#]*[ ]*${キー}\([ ]*\)=.*|${キー} = ${値}|" ${CONF} フィ フィ } set_key_value "fsync" "オフ" 要約する 上記は、Linux で sed コマンドを使用して kv 構成ファイルを変更する方法について紹介したものです。お役に立てば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: mysql5.7.18 のインストール時にエントリが見つからない問題の解決方法
>>: Mac OS10.12 に mysql5.7.18 をインストールするチュートリアル
目次1 配列のフラット化とは何ですか? 2 JS標準ライブラリの配列フラット化メソッド3 フラットメ...
この細線の表を作成する方法については、Baidu で検索すると、表に対して border="...
目次1. リクエストを取得する: 2. 投稿リクエスト: 3. 拡張と補足Vue スキャフォールディ...
まず、セキュリティ上の理由から、JavaScript はローカル リソース ファイルに直接アクセスで...
最近、あるプロジェクトに取り組んでいたとき、自分のプロジェクトでは CSS3 のアニメーション技術を...
easyui フレームワークのコードは次のとおりです。 css: .ファイルボックス{ フロート:...
序文Reduce は ES5 で追加された新しい従来の配列メソッドの 1 つです。forEach、f...
テストでは、ページ定義がutf-8でエンコードされている場合、 js ファイルに中国語などのマルチバ...
目次1. nodejsをダウンロードする2. ダブルクリックしてインストール3. グローバル npm...
方法 1: スクリプト方式を使用する:共通ヘッダー ファイル head.js または共通フッター フ...
目次Docker デプロイメント Always on クラスターDockerをインストールする建築関...
ウェブサイトの場合、ユーザビリティとは、ユーザーが必要な情報を効果的に見つけたり、タスクを完了したり...
MySQL 8.0.16 にインストールする場合、「UTF8B3」ではなく「UTF8B4」が使用さ...
1. コマンドの紹介bzip2 は、ファイルの圧縮と解凍に使用されます。これは、Linux システム...
マスタースレーブ同期 (マスタースレーブレプリケーションとも呼ばれる) は、マスタースレーブデータの...