Skype通知ステータスの切り替え

Skype通知ステータスの切り替え

連絡先がオンライン/オフラインであるかどうかに関する通知は、次の方法で変更できます。スカイプオプションまたは via を使用して、~/.skype/your_skype_id/config.xmlこのファイルの選択内容に応じて次の行を見つけることができます。

<Notify>
  <Chat>0</Chat>
  <Offline>1</Offline>
  <Online>1</Online>
</Notify>

ここで<Offline>n</Offline>(それぞれ<Online>n</Online>)は次のようになります。「連絡先情報がオフラインです。」(それぞれ。「連絡先情報はオンラインです。」)オプションがオンnになっているかどうかを明示的に示します。

だから私の質問は次のとおりです。通知を自動的にオンまたはオフにできますか?

OfflineOnlineファイルに一度だけ表示されることに注意することが重要ですXML

これまで私ができることは次のとおりです。

sed -i config.xml -e '197s!<Online>1</Online>!<Online>0</Online>!'

行番号はどこにあり197(場合によっては非常に悪い)、通知の既存の状態を確認せずに単にドラッグします。


簡単に言えば、私がやりたいことは、自動的に2行を0次に変更1(または1変更)することです。0

答え1

これはbash / shellスクリプトの操作のように聞こえます。

私が望むのは、grepを使用して単純なifステートメントを作成してファイルから1または0を検索し、それを持っているコマンドを使用して置き換えることです。説明する:

if grep -q "<Online>1</Online>" "config.xml"; then
        echo "Statement Returned True, Will now execute"
        sed -i config.xml -e '197s!<Online>1</Online>!<Online>0</Online>!'

elif grep -q "<Online>0</Online>" "config.xml"; then
        echo "Statement Returned True, Will now execute"
        sed -i config.xml -e '197s!<Online>0</Online>!<Online>1</Online>!'
fi

if grep -q "<Offline>1</Offline>" "config.xml"; then
        echo "Statement Returned True, Will now execute"
        sed -i config.xml -e '197s!<Online>1</Online>!<Online>0</Online>!'

elif grep -q "<Offline>0</Offline>" "config.xml"; then
        echo "Statement Returned True, Will now execute"
        sed -i config.xml -e '197s!<Online>0</Online>!<Online>1</Online>!'
fi

run.shや他のファイルに入れてください。

関連情報