0

ディレクトリ内のすべてのファイルを再帰的に置き換える"XXX" | {"Foo", "Bar"}にはどうすればよいですか?"YYY" | {"Foo"}

使いたいのですsedが、ここの特殊文字はトリッキーです。

4

3 に答える 3

1

findおよびを使用する1つの方法xargs

find . -type f -print0 | xargs -0 sed -i -r 's/"XXX" \| \{"Foo", "Bar"\}/"YYY" \| \{"Foo"\}/g'
于 2012-08-29T00:44:03.327 に答える
0

perlを使用する:

> find . -type f|xargs perl -p -e 's/"XXX" \| {"Foo", "Bar"}/"YYY" \| {"Foo"}/g
于 2012-08-29T05:38:36.890 に答える
0

これはあなたのために働くかもしれません(GNU sed):

find . -type f -print0 | 
xargs -0 sed -i '/"XXX"\s*|\s*{\s*\("[^"]*"\)\s*,\s*"[^"]*"\s*}/s//"YYY" | {\1}/g'
于 2012-08-29T07:00:43.613 に答える