シェルスクリプトを使用して、特定の行の後にある9行目の内容を置き換える方法は?

シェルスクリプトを使用して、特定の行の後にある9行目の内容を置き換える方法は?

/usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml ファイルの一部は次のとおりです。

    <key name='alternative-port' type='q'>
      <summary>Alternative port number</summary>
      <description>
        The port which the server will listen to if the 'use-alternative-port'
        key is set to true. Valid values are in the range of 5000 to 50000.
      </description>
      <default>5900</default>
    </key>

    <key name='require-encryption' type='b'>
      <summary>Require encryption</summary>
      <description>
        If true, remote users accessing the desktop are required to
        support encryption. It is highly recommended that you use a
        client which supports encryption unless the intervening network
        is trusted.
      </description>
      <default>false</default>
    </key>

    <key name='authentication-methods' type='as'>
      <summary>Allowed authentication methods</summary>
      <description>
        Lists the authentication methods with which remote users may
        access the desktop.

        There are two possible authentication methods; "vnc" causes the
        remote user to be prompted for a password (the password is
        specified by the vnc-password key) before connecting and "none"
        which allows any remote user to connect.
      </description>
      <default>['none']</default>
    </key>

これで、文字列がfalseの段落をtrueに変更したいと思います。シェルスクリプトを使用してどうすればよいですか?

ベストアンサー1

あなたの質問は少し不明ですが、実際に欲しいものが何であれ、シェルスクリプトからPerlを呼び出すことができます。

  • 次のコードはオンラインtrueでのみ変更されます。false5
#!/bin/sh
perl -pi -e 's/true/false/ if($. == 5)' /usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml
  • $. == 5に変更すると、$. > 55行目以降のどこでも発生します。

おすすめ記事