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
。