我需要大写(无论字符串的大小(4、3、2 或 1))以点结尾的字符串。但是,不以点阵结尾的字符串保持小写。
这 3 个命令能够完成我需要的操作,但是 1-char 字符串以点结尾,2-char 字符串以点结尾。
sed -i -e "/<b>/ {s/\.\([^ ]\)/. \1/g}" file
sed -i -e "/<b>/ {s/\( [a-z]\.\)/\U\1/g}" file
sed -i -e "/<b>/ {s/\([a-z][^ ]\.\)/\u&/g}" file
按照我的流,我认为这样做(如下)非常有意义,但它没有\没有\工作,并使 3-char 字符串看起来像这样:YEs.
和 4-char 字符串像HAHa.
sed -i -e "/<b>/ {s/\([a-z][^ ][^ ]\.\)/\u&/g}" file
有人可以帮忙吗?:p(如果可能的话,指出我做错了什么)