2

二重引用符のすべてのインスタンスを2つの連続した二重引用符に置き換えるスクリプトをawkで作成しようとしています。しかし、何らかの理由で、二重引用符を適切にエスケープできないようです。

たとえば、次のようになります。

Mary had a "little" lamb

になるだろう

Mary had a ""little"" lamb

よろしくお願いします!

4

1 に答える 1

3

次のように実行できます。

echo 'Mary had a "little" lamb' | awk '{ gsub(/"/, "&&") } 1' 

出力:

Mary had a ""little"" lamb

最後の1は awk のデフォルト ブロックを呼び出します{ print $0 }

sed を使用するとさらに短くなります。

echo 'Mary had a "little" lamb' | sed 's/"/&&/g'
于 2012-12-13T23:02:21.860 に答える