confファイルを操作するためのBASHツール? [閉鎖]

confファイルを操作するためのBASHツール? [閉鎖]

bashスクリプトで簡単に使用できるツールがあるかどうか疑問に思います。操縦する追加、削除、更新)confファイルのディレクティブ?

たとえば、failure2ban.confにはそれぞれ独自のセクションの下にグループ化されたディレクティブがあります。

[proftpd]
enabled  = true
port     = ftp,ftp-data,ftps,ftps-data

[postfix]
enabled  = true
port     = smtp,465,submission

そして、pagespeed.confにはディレクティブが混在しており、一部は独自のセクションにあり、一部は全体に分散しています。

<Location /pagespeed_admin>
        Order allow,deny
        Allow from localhost
        Allow from 127.0.0.1
        SetHandler pagespeed_admin
    </Location>
    <Location /pagespeed_global_admin>
        Order allow,deny
        Allow from localhost
        Allow from 127.0.0.1
        SetHandler pagespeed_global_admin
    </Location>

    ModPagespeedMessageBufferSize 100000
    ModPagespeedStatisticsLogging on
    ModPagespeedEnableCachePurge on
    ModPagespeedPurgeMethod PURGE
    ModPagespeedFileCacheSizeKb 2048000
    ModPagespeedFileCacheCleanIntervalMs 3600000
    ModPagespeedFileCacheInodeLimit 500000

あなたは理解しました。

次のタスクを実行できるツールはありますか?たとえば、failure2ban.confの「proftpd」セクションで「enabled」ディレクティブを操作できますか?

または、pagespeed.confの「Location /pagespeed_admin」セクションで「Allow from」ディレクティブを操作しますか?

または、pagespeed.confの「特定なし」セクションで「ModPagespeedMessageBufferSize」ディレクティブを操作しますか?

ありがとう

ベストアンサー1

いいえ、理由は簡単です。構成ファイルが多すぎる形式を使用できるためです。私の考えでは、あなたができる最善の方法は、テキスト処理ツールを使用して独自のものを実装することです。

特定の形式(JSONなど)のライブラリがある可能性がありますが、ツールの作成者は目的の形式を自由に使用できるため、汎用ツールは不可能です。これを説明するために、以下はいくつかのconfファイルの数行です。

  1. Emacs

    ;; Are we running XEmacs or Emacs?
    (defvar running-xemacs (string-match "XEmacs\\|Lucid" emacs-version))
    
    ;; disable menu bar when running in terminal
    (when (not (display-graphic-p))
      (menu-bar-mode -1))
    
    ;;My libraries, ebib, wordcount etc
    (add-to-list 'load-path "~/.emacs-lisp/")
    
  2.   highlight Normal guibg=grey90
      highlight Cursor guibg=Green guifg=NONE
      highlight lCursor guibg=Cyan guifg=NONE
      highlight NonText guibg=grey80
      highlight Constant gui=NONE guibg=grey95
      highlight Special gui=NONE guibg=grey95
    
  3. 着色

    #---------------------------------------------
    # BACKGROUND AND BORDER
    #---------------------------------------------
    # general panel settings
    rounded = 7
    border_width = 2
    #background_color = #B4B2B2 10
    background_color = #000000 30 
    border_color = #8F0004 0 
    
  4. 仮想LC

    # Trigger button (string)
    #gestures-button=left
    
    [motion] # motion control interface
    
    [oldrc] # Remote control interface
    
    # Show stream position (boolean)
    rc-show-pos=0
    
  5. SSHD

    AuthorizedKeysFile  .ssh/authorized_keys
    ChallengeResponseAuthentication no
    UsePAM yes
    

その他など

おすすめ記事