スクリプトを使用してplist(Mac OS High Sierraを使用)の一部を置き換えようとしています。ファイル内の文字列をシェル変数の複数行の値に置き換える方法
私はforループの出力に変数セットを持っていると私はエコーまたはそれをprintfのときの出力は次のようになります言った:
<array>
<dict>
<key>cfurl_string</key>
<string>/Applications/Launchpad.app</string>
</dict>
<dict>
<key>cfurl_string</key>
<string>/Applications/Safari.app</string>
</dict>
<dict>
<key>cfurl_string</key>
<string>/Applications/Pages.app</string>
</dict>
<dict>
<key>cfurl_string</key>
<string>/Applications/Numbers.app</string>
</dict>
<dict>
<key>cfurl_string</key>
<string>/Applications/Keynote.app</string>
</dict>
<dict>
<key>cfurl_string</key>
<string>/Applications/Photos.app</string>
</dict>
<dict>
<key>cfurl_string</key>
<string>/Applications/iMovie.app</string>
</dict>
<dict>
<key>cfurl_string</key>
<string>/Applications/GarageBand.app</string>
</dict>
<dict>
<key>cfurl_string</key>
<string>/Applications/Microsoft Word.app</string>
</dict>
<dict>
<key>cfurl_string</key>
<string>/Applications/Microsoft Excel.app</string>
</dict>
</array>
私も、私はそうテンプレートとして設定したplistのを持っています私は値を見つけ出し、それを上記の出力と置き換えることができます。私は「テスト」や「ワード」のような通常の文字列を使用している場合、それは完全に見つける動作しますが、私は
sed -e "s|<array></array>|${test}|" dmt.plist > dmtfinished.plist
すなわち値を指定して、コマンドを実行した場合、それは私にエラーを与える:代替パターン
内部エスケープされていない改行を私は過去数時間同じような結果を得て、できる限り試してみました。いかなる援助も感謝します。
は、私は上記の投稿何を期待された結果 – RomanPerekhrest
が期待された結果であるポスト、私は「 」に設定行とのplistを持っています。私はそれを上記の変数出力に置き換えたいと思います。最初のコードセット –