カンマで区切られた3つの列があります。姓、名前、社会的な名前。
姓の列のすべての文字を大文字に置き換えようとしています。
sed 's/\([^,]*\)/\U\1/' foo.file
osxでは、このコマンドは、大文字の文字列を開始するのではなく、各行の先頭に大文字のUを追加しますが、Ubuntuインスタンスでは期待どおりに機能します。
なぜこれが起こるのかわかりません。
マニュアルページには、「マルチバイト文字は ''s'' および ''y'' コマンドの区切り文字としては使用できません。区切り文字を「i」に置き換えると同じことが発生するため、問題になりません。
ベストアンサー1
sed 'h;s/[^,]*,[^,]*,//
y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/
H;x;s/[^,]*\n//
' foo.file