2011-01-09 8 views
2

私はXML Plistを持っています。そのキーが存在する場合はキーの整数値を編集するためのbashスクリプトが必要です。そうでない場合はキーと整数値を作成します。これはLinuxマシンなので、Mac OS Xのdefaultsコマンドは利用できません。整数値54変数によって提供されるLinuxのPLIST内の値を編集する

<dict> 
    … 
    <key>myKey</key> 
    <integer>54</integer> 
    … 
</dict> 
キー myKeyが既に元のPLISTかに存在するかどうか

、および:である

は、最終的なPLISTは次のようになります。

defaults write ./myPlist myKey -int $(echo $myKey_value) 

を私が言ったように、Linuxでの無defaultsコマンド:

のMac OS Xで私はこのようにそれを行うだろう。私は sedで試しましたが、明らかに1行にしかマッチできません。たぶん awkまたは perlとなるでしょうが、私はほとんど何も知っていません。

答えて

3
+0

私はむしろ、何もインストールする必要はありませんと思いますので、私はなぜSEDをしようとしていたし、多分AWKやPerlも仕事のために良いと思っていました。 – elmimmo

+0

@elmimmo:AWKと 'sed'は仕事に就いていません。答えの中のリンクは、Perlモジュールのリンクです。 –

+0

私は、XMLWriterが仕事のための特別なツールであることを理解します。それでも、これはスクリプトが実行する必要がある唯一の単一のXML操作であり、このコンピュータでも同様の性質は必要ありません。したがって、より簡単なアプローチを考えていました。 を含む行にmyKeyが存在する場合は、その行と次の行を削除します。行を追加 myKey;次の行を追加してください $ {myKey_value} eof 本当にawkはできませんか? Mmph ...これはできるだけポータブルなものにしたいので、perlモジュールやその他のものをインストールするのはいいとは言えません。 まだ、お返事ありがとうございます。 – elmimmo

関連する問題