私は以下の各変数の{と}の間で以下にマッチするすべてのコードを見つけるためにsedを試していますが、含まれる検索を除外したい#を持つ行(行の任意の部分に存在する)。次に、sedスクリプトが、マッチした行を期待される出力の "ライブラリ"の下にコピーして、#を追加します。最初の行の名前の最後に、コピーするときに一致するたびにコピーされます。Sedマッチ/コピーしてposixシェルに入れてください
一致/コピーを見つけるためにオリジナルコード:
bundle {
path /system/lib/soundfx/libbundlewrapper.so
}
#positive {
#path /system/lib/soundfx/libpositive.so
#}
reverb {
path /system/lib/soundfx/libreverbwrapper.so
}
予想される出力:
libraries {
bundle {#
path /system/lib/soundfx/libbundlewrapper.so
}
reverb {#
path /system/lib/soundfx/libreverbwrapper.so
}
proxy {
path /system/lib/soundfx/libeffectproxy.so
}
jdsp {
path /system/lib/soundfx/libjamesdsp.so
}
その後、私は以下のと同じことをしたいが、私はまた、それを必要とするので、それはもっと複雑です以下の2つを一致させてコピーしてください(それらはすべて "ライブラリ"と "uuid"を持っていますが、一部にはhwとswしかありません)。
一致する/コピーするオリジナルコード:
jamesdsp {
library jdsp
uuid f27317f4-c984-4de6-9a90-545759495bf2
}
sa3d {
library proxy
uuid 1c91fca0-664a-11e4-b8c2-0002a5d5c51b
libsw {
library myspace
uuid 3462a6e0-655a-11e4-8b67-0002a5d5c51b
}
libhw {
library offload
uuid c7a84e61-eebe-4fcc-bc53-efcb841b4625
}
}
#downmix {
#library downmix
#uuid 93f04452-e4fe-41cc-91f9-e475b6d1d69f
#}
visualizer {
library visualizer
uuid d069d9e0-8329-11df-9168-0002a5d5c51b
}
予想される出力:
effects {
jamesdsp {#
library jdsp
uuid f27317f4-c984-4de6-9a90-545759495bf2
}
sa3d {#
library proxy
uuid 1c91fca0-664a-11e4-b8c2-0002a5d5c51b
libsw {
library myspace
uuid 3462a6e0-655a-11e4-8b67-0002a5d5c51b
}
libhw {
library offload
uuid c7a84e61-eebe-4fcc-bc53-efcb841b4625
}
}
visualizer {#
library visualizer
uuid d069d9e0-8329-11df-9168-0002a5d5c51b
}
dax {
library dax
uuid 9d4921da-8225-4f29-aefa-6e6f69726861
}
心の中で上記のコードを保つには、 "効果{" の下に配置する必要があります。
最初の例で 'proxy'と' jdsp'はどのように表示されましたか? – Beta