誰かがsedを使用して引用符内のすべての文字を大文字にする方法を説明してもらえますか? たとえば、「abcd1234」は「ABCD1234」になります。引用符内のテキストの長さは可変です。答えだけでなく、説明を探しています。
編集:これをテキストファイルで使用します。次のようなテキスト ファイルがあるとします。
大文字にしたくないテキストと「大文字にしたいテキスト」およびその他のテキストと「時折引用されたテキストとおそらく数字」...
誰かがsedを使用して引用符内のすべての文字を大文字にする方法を説明してもらえますか? たとえば、「abcd1234」は「ABCD1234」になります。引用符内のテキストの長さは可変です。答えだけでなく、説明を探しています。
編集:これをテキストファイルで使用します。次のようなテキスト ファイルがあるとします。
大文字にしたくないテキストと「大文字にしたいテキスト」およびその他のテキストと「時折引用されたテキストとおそらく数字」...
これは のバージョンに依存するかもしれませんsed
が、私が手元にあるもの (GNU sed バージョン 4.1.5) では、 と書くことができますs/"[^"]*"/\U\0/
。たとえば、次の Bash コマンドは次のようになります。
sed 's/"[^"]*"/\U\0/g' <<< 'foo "bar" baz'
これを印刷します:
foo "BAR" baz
を除いて、説明することはあまりありません\U
。これは、replacement-string の後続のテキストを大文字にする特別な機能であり、どちらか\E
または end-of-string までです。