sed "s/[a-z]/$1/g" <old.txt>new.txt
echo "done"
これは小文字だけが与えられた最初の引数に置き換えられます。大文字以外のすべてを変えたいです。
答え1
sed "s/[^[:upper:]]/$1/g"
そのロケールで大文字と見なされないすべての文字を次の$1
ように置き換えます。$1
&
有効な文字以外のバイトは置き換えられません。また、結合文字を幸せに変換します。たとえば、銀はÉ
大文字です。 U+00C9 文字で書くとそのまま保持されますが、E
結合級文字 (U+0301) が後に来ると に変更されますE$1
。